Jackrabbit.modulus.DCAThis is the Dollar Cost Averaging (DCA) for the Jackrabbit suite and modulus framework.
The blue line is the current average price of the asset.
The red line is the deviation boundary. Price action must be below this line for buys to be signaled.
The green line is the take profit. Price action must be above this line for a sell signal to be generated.
Here is a list of the settings:
Buy method: DCA or Strategy. DCA allows the module to decide buys based upon the methodology (step, price). Strategy added to the average on the basis of a buy signal from the strategy, but only when it is below the deviation and is the most organic of dollar cost averaging.
Sell Method. Take profit or Steategy. Take Profit sells the asset as soon as the price action crosses above the take profit line. Strategy sells on the basis of a sell signal, but only if it is above the take profit. Selling never occurs at a loss, with the only exception being the exit point.
Methodolgy: Step or Price. Stepping allows a fixed and uniform averaging ant percise intervals of deviation. Price is a very aggressive approach that will drive the average down on the basis of the difference between the average and the current price action. The price methodology is VERY high risk.
Take Profit, which describes the average profit percent of the combined positions.
Deviation, which describes the percent boundary for which price action must drop before additional assets are purchased.
Sideways Breaker: This algorithm breaks the sideways rut by forcing a purchase after X days, minimum 1 day.
Exit Position: Internal stop loss expressed in the number of buys.
It is important that when you establish your sell signal, ALL positions must be sold to ensure the average profit. If required, use a CLOSE ALL message provided by your platform. Also, any platform specific DCA or Safety Orders will cause losses as this script can not track their value. It is recommended that these features not be used.
The Jackrabbit modulus framework is a plug in play paradigm built to operate through TradingView's indicator on indicatior (IoI) functionality. As such, this script receives a signal line from the previous script in the IoI chain, and evaluates the buy/sell signals appropriate to the current analysis.
This script is by invitation only. To learn more about accessing this script, please see my signature or send me a PM. Thank you.
在腳本中搜尋"Buy sell"
™TradeChartist Rubicon™TradeChartist Rubicon is a beautifully designed functional indicator that helps traders enter and exit Long or Short trades with ease.
This indicator is aptly named Rubicon as it studies the candles in the River of Rubicon (Flat Blue River that never stops flowing up and down the chart) through the Lands of Rubicon to find out which army ( Bulls or Bears ) is committing itself to crossing the River and its tides. By doing this for every price candle, the indicator generates BUY and SELL signals along with Targets and real-time Gains on the chart.
What does the ™TradeChartist Rubicon Indicator do?
Plots very high probability BUY and SELL signals on chart
-- Real-time signals are plotted in Orange labels. (Note: Real-time signals repaint. So wait for confirmation before taking a trade position. This feature is included based on feedback from a few traders as some of them like to see a potential direction based on developing candle, its RSI, Stochastic etc.)
-- Confirmed signals are plotted in Green labels for BUY and Red labels for SELL. These signals don't repaint and can be used confidently to enter or exit a trade.
-- Option to choose type of trade opportunity from indicator settings namely - Long trades, Short trades or both, based on which the chart background colour will be green for duration of long trades or red for duration of short trades.
-- Intermediate signals are also plotted between the primary BUY and SELL signals which can be used for re-entry, scalping etc if the opportunity to enter trade at Primary signal was missed. These secondary signals marked as B and S with arrows can be deactivated from indicator settings.
Plots Target levels as soon as BUY or SELL signal is confirmed on chart.
-- These levels can be used as support and resistance levels too.
-- The first 3 TP levels can be used as a litmus test to trade higher levels as the likelihood of price hitting higher profit levels significantly increase when price crosses the first 3 smaller levels.
-- The performance of the current signal can be tracked by using the Show Gains from Primary Signal and the past signals can be accessed by checking Show Past Performance option from Indicator Settings.
Plots % Gains based on candle close in real-time and Max % Gains based on highest since the BUY signal or lowest since the SELL signal. The entry price is normally plotted along with the signals and is an indicative price based on breached resistance. Traders may choose to buy at Market Price or Limit Price based on the price movement at the time of signal generation.
Plots Bulls/Bears waiting price points for chart time-frame if activated from settings. (Default - Not Active)
Automatically plots Bull and Bear power labels along with visually painting the Bull or Bear power on the Lands of Rubicon.
Plots RSI colour candles based on user preferred Overbought and Oversold RSI levels from indicator settings. (Default - 60 Overbought and 30 Oversold)
What markets can this indicator be used on?
Forex
Stocks - works best with 4hr or above and prices calculated taking gaps into account.
Commodities
Cryptocurrencies
and almost any asset on Trading View
Works really well when there is good volume , volatility or both in the asset observed/traded.
What time-frames can this indicator be used on?
This indicator can be used on 1m, 3m, 5m, 10m, 15m, 30m, 1hr, 2hr, 3hr, 4hr, 6hr, 8hr, 12hr, Daily, Weekly, Bi-Weekly and Monthly time-frames. Signal generation based on value, volume and volatility. If an asset has very little volume or is far low in comparative value against the base currency, there can be far too many erratic signals but with most assets, this won't be an issue.
Does this indicator repaint?
No and Yes
-- Once the confirmed BUY (in green) and SELL (in red) signals are posted after a candle close, it doesn't repaint.
-- Repainting happens for real time Orange label BUY and SELL signal on the current candle. Some traders prefer to see the developing signal and trade using RSI, Stochastic etc.
Does the indicator send alerts when a signal is generated?
Yes, traders can get alerts by setting Trading View alerts for BUY/SELL Signals and when a new Profit Target is achieved. For confirmed BUY/SELL alerts, 'Once per bar close' must be used.
Real-time BUY and SELL trigger alerts can also be set using 'Once per bar' or 'Once per minute' as alert frequency.
Some Examples of trades using ™TradeChartist Rubicon indicator
GOLD short trade and Long trade scalping on 15m
GOLD on Daily
SUGAR-USD on 15m
AUD-USD on 5m
LEND-BTC alt pair on Daily
-----------------------------------------------------------------------------------------
This is not a free to use indicator. Get in touch with me if you would like access to the indicator for a free trial before deciding on a paid access for a period of your choice.
-----------------------------------------------------------------------------------------
RMBS Smart Detector - Multi-Factor Momentum System
# RMBS Smart Detector - Multi-Factor Momentum System
## Overview
RMBS (Smart Detector - Multi-Factor Momentum System) is a proprietary scoring method developed by Ario, combining normalized RSI and Bollinger band positioning into a single composite metric.
---
## Core Methodology
### Buy/Sell Logic
Marker (green or red )appear when **all four filters** pass:
**1. RMBS Score (Momentum Strength)**
From the formula Bellow
Combined Range: -10 (extreme bearish) to +10 (extreme bullish)
Signal Thresholds:
• BUY: Score > +3.0
• SELL: Score < -3.0
2. EMA Trend Filter
BUY: EMA(21) > EMA(55) → Uptrend confirmed
SELL: EMA(21) < EMA(55) → Downtrend confirmed
3. ADX Strength Filter
Minimum ADX: 25 (adjustable 20-30)
ADX > 25: Trending market → Signal allowed
ADX < 25: Range-bound → Signal blocked
4. Alternating Logic
Prevents signal spam by requiring alternation:
✓ BUY → SELL → BUY (allowed)
✗ BUY → BUY → BUY (blocked)
________________________________________
Mathematical Foundation
RMBS Formula: scoring method developed by Ario
RMBS = (RSI – 50) / 10 + ((BB_pos – 50) / 10)
where:
• RSI = Relative Strength Index (close, L)
• BB_pos = (Close – (SMA – 2 σ)) / ((SMA + 2 σ) – (SMA – 2 σ)) × 100
• σ = standard deviation of close over lookback L
• SMA = simple moving average of close over lookback L
• L = rmbs_length (period setting)
This produces a normalized composite score around zero:
• Positive → bullish momentum and upper band dominance
• Negative → bearish momentum and lower band pressure
• Near 0 → neutral or transitional zone
Input Parameters
ADX Threshold (default: 25)
• Lower (20-23): More signals, less filtering
• Higher (28-30): Fewer signals, stronger trends
• Recommended: 25 for balanced filtering
Signal Thresholds
• BUY: +3.0 (adjustable)
• SELL: -3.0 (adjustable)
Visual Options
• Marker colors
• Background highlights
• Alert settings
________________________________________
Usage Guidelines
How to Interpret
• 🟢 Green Marker: All conditions met for Bull condition
• 🔴 Red Marker: All conditions met for Bear condition
• No Marker: Waiting for confirmation
________________________________________
Important Disclaimers
⚠️ Educational Purpose Only
• This tool demonstrates multi-factor technical analysis concepts
• Not financial advice or trade recommendations
• No guarantee of profitability
⚠️ Known Limitations
• Less effective in ranging/choppy markets
• Requires proper risk management (stop-loss, position sizing)
• Should be combined with fundamental analysis
⚠️ Risk Warning
Trading involves substantial risk of loss. Past performance does not indicate future results. Always conduct your own research and consult professionals before trading.
________________________________________
Open Source
Full Pine Script code available for educational study and modification. Feedback and improvement suggestions welcome.
“All logic is presented for research and educational visualization.”
---
**Attribution & Fair Use Notice**
The RMBS scoring framework (Multi-Factor Momentum System) was originally designed and formulated by *Ahmadrezarahmati( Ario or Ario_ Pine Lab)*.
If you build upon, modify, or republish this logic—please include proper attribution to the original author. This request is made under a spirit of open collaboration and educational fairness.
Indian SnR Made By Kuldeep Singh Negi + ICT HTF Candles with fvg//@version=5
indicator("Indian SnR Made By Kuldeep Singh Negi + ICT HTF Candles with fvg", overlay = true, max_lines_count = 500, max_labels_count = 500)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
length = input(11, 'Pivot Lookback')
area = input.string('Wick Extremity', 'Swing Area', options = )
intraPrecision = input(true, 'Intrabar Precision', inline = 'intrabar')
intrabarTf = input.timeframe('', '', inline = 'intrabar')
filterOptions = input.string('Count', 'Filter Areas By', options = , inline = 'filter')
filterValue = input.float(0, '', inline = 'filter')
//Style
showTop = input(true, 'Swing High', inline = 'top', group = 'Style')
topCss = input(color.rgb(0, 0, 0), '', inline = 'top', group = 'Style')
topAreaCss = input(color.rgb(197, 197, 197), 'Area', inline = 'top', group = 'Style')
showBtm = input(true, 'Swing Low', inline = 'btm', group = 'Style')
btmCss = input(color.rgb(0, 0, 0), '', inline = 'btm', group = 'Style')
btmAreaCss = input(color.rgb(197, 197, 197), 'Area', inline = 'btm', group = 'Style')
labelSize = input.string('Tiny', 'Labels Size', options = , group = 'Style')
//-----------------------------------------------------------------------------}
//Functions
//-----------------------------------------------------------------------------{
n = bar_index
get_data()=>
= request.security_lower_tf(syminfo.tickerid, intrabarTf, get_data())
get_counts(condition, top, btm)=>
var count = 0
var vol = 0.
if condition
count := 0
vol := 0.
else
if intraPrecision
if n > length
if array.size(v ) > 0
for in v
vol += array.get(l , index) < top and array.get(h , index) > btm ? element : 0
else
vol += low < top and high > btm ? volume : 0
count += low < top and high > btm ? 1 : 0
set_label(count, vol, x, y, css, lbl_style)=>
var label lbl = na
var label_size = switch labelSize
'Tiny' => size.tiny
'Small' => size.small
'Normal' => size.normal
target = switch filterOptions
'Count' => count
'Volume' => vol
if ta.crossover(target, filterValue)
lbl := label.new(x, y, str.tostring(vol, format.volume)
, style = lbl_style
, size = label_size
, color = #00000000
, textcolor = css)
if target > filterValue
label.set_text(lbl, str.tostring(vol, format.volume))
set_level(condition, crossed, value, count, vol, css)=>
var line lvl = na
target = switch filterOptions
'Count' => count
'Volume' => vol
if condition
if target < filterValue
line.delete(lvl )
else if not crossed
line.set_x2(lvl, n - length)
lvl := line.new(n - length, value, n, value
, color = na)
if not crossed
line.set_x2(lvl, n+3)
if crossed and not crossed
line.set_x2(lvl, n)
line.set_style(lvl, line.style_dashed)
if target > filterValue
line.set_color(lvl, css)
//-----------------------------------------------------------------------------}
//Global Variables
//-----------------------------------------------------------------------------{
// Initialize variables for pivot high and low
var float ph_top = na
var float ph_btm = na
var float pl_top = na
var float pl_btm = na
var bool ph_crossed = na
var bool pl_crossed = na
var ph_x1 = 0
var pl_x1 = 0
//-----------------------------------------------------------------------------}
//Display pivot high levels
//-----------------------------------------------------------------------------{
ph = ta.pivothigh(length, length)
//Get ph counts
= get_counts(ph, ph_top, ph_btm)
//Set ph area and level
if ph and showTop
ph_top := high
ph_btm := switch area
'Wick Extremity' => math.max(close , open )
'Full Range' => low
ph_x1 := n - length
ph_crossed := false
else
ph_crossed := close > ph_top ? true : ph_crossed
if showTop
//Set ph level
set_level(ph, ph_crossed, ph_top, ph_count, ph_vol, topCss)
//Set ph label
set_label(ph_count, ph_vol, ph_x1, ph_top, topCss, label.style_label_down)
//-----------------------------------------------------------------------------}
//Display pivot low levels
//-----------------------------------------------------------------------------{
pl = ta.pivotlow(length, length)
//Get pl counts
= get_counts(pl, pl_top, pl_btm)
//Set pl area and level
if pl and showBtm
pl_top := switch area
'Wick Extremity' => math.min(close , open )
'Full Range' => high
pl_btm := low
pl_x1 := n - length
pl_crossed := false
else
pl_crossed := close < pl_btm ? true : pl_crossed
if showBtm
//Set pl level
set_level(pl, pl_crossed, pl_btm, pl_count, pl_vol, btmCss)
//Set pl labels
set_label(pl_count, pl_vol, pl_x1, pl_btm, btmCss, label.style_label_up)
//-----------------------------------------------------------------------------}
//Non repainting security
f_security(_symbol, _res, _src, _repaint) =>
request.security(_symbol, _res, _src )
// Only render intraday
validTimeFrame = timeframe.isintraday == true
// If above the 5 minute, we start drawing yesterday. below, we start today
levelsstart = timeframe.isseconds == true or timeframe.isminutes == true and timeframe.multiplier < 5 ? time('D') : time('D') - 86400 * 1000
//levelsstartbar = ta.barssince(levelsstart)
// Functions
new_bar(res) =>
ta.change(time(res)) != 0
pvsra_security(sresolution, sseries) =>
request.security(syminfo.tickerid, sresolution, sseries , barmerge.gaps_off, barmerge.lookahead_off)
pvsra_security_1 = pvsra_security('', volume)
pvsra_volume = volume
pvsra_security_2 = pvsra_security('', high)
pvsra_high = high
pvsra_security_3 = pvsra_security('', low)
pvsra_low = low
pvsra_security_4 = pvsra_security('', close)
pvsra_close = close
pvsra_security_5 = pvsra_security('', open)
pvsra_open = open
sum_1 = math.sum(pvsra_volume, 10)
sum_2 = math.sum(volume, 10)
av = sum_2 / 10
//climax volume on the previous candle
value2 = volume * (high - low)
// highest climax volume of the last 10 candles
hivalue2 = ta.highest(value2, 10)
// VA value determines the bar color. va = 0: normal. va = 1: climax. va = 2: rising
iff_1 = pvsra_volume >= av * 1.5 ? 2 : 0
iff_2 = pvsra_volume >= av * 2 or value2 >= hivalue2 ? 1 : iff_1
iff_3 = volume >= av * 1.5 ? 2 : 0
iff_4 = volume >= av * 2 or value2 >= hivalue2 ? 1 : iff_3
va = iff_4
// Bullish or bearish coloring
isBull = close > open
CUColor = color.rgb(13, 255, 0)
CDColor = color.rgb(255, 0, 0)
AUColor = color.rgb(4, 255, 0)
ADColor = color.rgb(255, 0, 0)
// candleColor = iff(climax,iff(isBull,CUColor,CDColor),iff(aboveA,iff(isBull,AUColor,ADColor),iff(isBull,NUColor,NDColor)))
iff_5 = va == 2 ? AUColor : na
iff_6 = va == 1 ? CUColor : iff_5
iff_7 = va == 2 ? ADColor : na
iff_8 = va == 1 ? CDColor : iff_7
candleColor = isBull ? iff_6 : iff_8
barcolor(candleColor)
alertcondition(va > 0, title='Alert on Any Vector Candle', message='{{ticker}} Vector Candle on the {{interval}}')
alertcondition(candleColor == color.lime, title='Green Vector Candle', message='{{ticker}} Green Vector Candle on the {{interval}} Note: alert triggers in real time before the candle is closed unless you choose "once per bar close" option - ie the alert might trigger at some point and the pa after that could change the vector color completely. Use with caution.')
alertcondition(candleColor == color.red, title='Red Vector Candle', message='{{ticker}} Red Vector Candle on the {{interval}} Note: alert triggers in real time before the candle is closed unless you choose "once per bar close" option- ie the alert might trigger at some point and the pa after that could change the vector color completely. Use with caution.')
alertcondition(candleColor == color.blue, title='Blue Vector Candle', message='{{ticker}} Blue Vector Candle on the {{interval}} Note: alert triggers in real time before the candle is closed unless you choose "once per bar close" option- ie the alert might trigger at some point and the pa after that could change the vector color completely. Use with caution.')
alertcondition(candleColor == color.fuchsia, title='Purple Vector Candle', message='{{ticker}} Purple Vector Candle on the {{interval}} Note: alert triggers in real time before the candle is closed unless you choose "once per bar close" option- ie the alert might trigger at some point and the pa after that could change the vector color completely. Use with caution.')
redGreen = candleColor == color.lime and candleColor == color.red
greenRed = candleColor == color.red and candleColor == color.lime
redBlue = candleColor == color.blue and candleColor == color.red
blueRed = candleColor == color.red and candleColor == color.blue
greenPurpule = candleColor == color.fuchsia and candleColor == color.lime
purpleGreen = candleColor == color.lime and candleColor == color.fuchsia
bluePurpule = candleColor == color.fuchsia and candleColor == color.blue
purpleBlue = candleColor == color.blue and candleColor == color.fuchsia
alertcondition(redGreen, title='Red/Green Vector Candle Pattern', message='{{ticker}} Red/Green Vector Candle Pattern on the {{interval}}')
alertcondition(greenRed, title='Green/Red Vector Candle Pattern', message='{{ticker}} Green/Red Vector Candle Pattern on the {{interval}}')
alertcondition(redBlue, title='Red/Blue Vector Candle Pattern', message='{{ticker}} Red/Blue Vector Candle Pattern on the {{interval}}')
alertcondition(blueRed, title='Blue/Red Vector Candle Pattern', message='{{ticker}} Blue/Red Vector Candle Pattern on the {{interval}}')
alertcondition(greenPurpule, title='Green/Purple Vector Candle Pattern', message='{{ticker}} Green/Purple Vector Candle Pattern on the {{interval}}')
alertcondition(purpleGreen, title='Purple/Green Vector Candle Pattern', message='{{ticker}} Purple/Green Vector Candle Pattern on the {{interval}}')
alertcondition(bluePurpule, title='Blue/Purple Vector Candle Pattern', message='{{ticker}} Blue/Purple Vector Candle Pattern on the {{interval}}')
alertcondition(purpleBlue, title='Purple/Blue Vector Candle Pattern', message='{{ticker}} Purple/Blue Vector Candle Pattern on the {{interval}}')
var int TYPE_UP = 1
var int TYPE_DOWN = -1
var string LINE_WIDTH1_STR = "Width 1"
var string LINE_WIDTH2_STR = "Width 2"
_get_width(string str_input) =>
switch str_input // {string:int}
LINE_WIDTH1_STR => 1
LINE_WIDTH2_STR => 2
alertcondition(not na(ph) or not na(pl), title="New trendline formed", message="New trendline formed")
// Pointers -> Recent fractals
// {
var float recent_dn1 = na, var int i_recent_dn1 = na
var float recent_up1 = na, var int i_recent_up1 = na
var float recent_dn2 = na, var int i_recent_dn2 = na
var float recent_up2 = na, var int i_recent_up2 = na
// @function get_slope()
get_slope(xA, yA, xB, yB) =>
(yB - yA) / (xB - xA)
// Solving for price at current x (bar_index), given two pairs of fractals with x values < bar_index.
float m_dn = get_slope(i_recent_dn1, recent_dn1, i_recent_dn2, recent_dn2)
float y_dn = (m_dn * bar_index) + recent_dn1 - (m_dn * i_recent_dn1)
float m_up = get_slope(i_recent_up1, recent_up1, i_recent_up2, recent_up2)
float y_up = (m_up * bar_index) + recent_up1 - (m_up * i_recent_up1)
// Source input
source = input(defval=close, title="Source")
// Inputs
Periods = input.int(title="ATR Period", defval=14)
Multiplier = input.float(title="ATR Multiplier", step=0.1, defval=1.6)
Sensitivity = input.float(title="Sensitivity", step=0.1, defval=2.3)
changeATR = input.bool(title="Change ATR Calculation Method yes/no", defval=true)
showsignals = input.bool(title="Show Buy/Sell Signals", defval=true)
highlighting = input.bool(title="Highlighter On/Off", defval=true)
// Heikin Ashi Calculations (using the selected 'source' input)
haClose = (open + high + low + source) / 4
var float haOpen = na
haOpen := na(haOpen ) ? (open + source) / 2 : (haOpen + haClose ) / 2
haHigh = math.max(high, math.max(haClose, haOpen))
haLow = math.min(low, math.min(haClose, haOpen))
// ATR Calculation
atr2 = ta.sma(ta.tr, Periods)
atr = changeATR ? ta.atr(Periods) : atr2
// Adjusting ATR multiplier with sensitivity
adjustedMultiplier = Multiplier * Sensitivity
// Supertrend Calculation with sensitivity applied
up = haClose - (adjustedMultiplier * atr)
up1 = ta.valuewhen(haClose > up , up , 0)
up := haClose > up1 ? math.max(up, up1) : up
dn = haClose + (adjustedMultiplier * atr)
dn1 = ta.valuewhen(haClose < dn , dn , 0)
dn := haClose < dn1 ? math.min(dn, dn1) : dn
// Trend Calculation
var int trend = na
trend := na(trend ) ? 1 : trend
trend := trend == -1 and haClose > dn1 ? 1 : trend == 1 and haClose < up1 ? -1 : trend
// Plotting
buySignal = trend == 1 and trend == -1
plotshape(series=buySignal ? up : na, title="buySignal", location=location.belowbar, style=shape.labelup, size=size.tiny, color=color.rgb(197,197,197), textcolor=color.rgb(0, 0, 0), text="BUY", offset=-1)
sellSignal = trend == -1 and trend == 1
plotshape(series=sellSignal ? dn : na, title="sellSignal", location=location.abovebar, style=shape.labeldown, size=size.tiny, color=color.rgb(0, 0, 0), textcolor=color.rgb(255, 255, 255), text="SELL", offset=-1)
// Alerts
alertcondition(buySignal, title="Buy", message="Buy!")
alertcondition(sellSignal, title="Sell", message="Sell!")
changeCond = trend != trend
alertcondition(changeCond, title="Direction Change", message="changed direction!")
// Script settings
emaLength = input.int(title="Length", defval=20, minval=2)
emaSource = input.source(title="Source", defval=close)
// Get EMA
ema = ta.ema(emaSource, emaLength)
// Bar coloring logic
barcolor(close > ema ? color.rgb(173, 173, 173) : color.rgb(0, 0, 0))
type Candle
float o
float c
float h
float l
int o_idx
int c_idx
int h_idx
int l_idx
string dow
box body
line wick_up
line wick_down
label dow_label
type Trace
line o
line c
line h
line l
label o_l
label c_l
label h_l
label l_l
type Imbalance
box b
int idx
type CandleSettings
bool show
string htf
int max_display
type Settings
int max_sets
color bull_body
color bull_border
color bull_wick
color bear_body
color bear_border
color bear_wick
int offset
int buffer
int htf_buffer
int width
bool use_custom_daily
string custom_daily
bool daily_name
bool trace_show
color trace_o_color
string trace_o_style
int trace_o_size
color trace_c_color
string trace_c_style
int trace_c_size
color trace_h_color
string trace_h_style
int trace_h_size
color trace_l_color
string trace_l_style
int trace_l_size
string trace_anchor
bool label_show
color label_color
string label_size
string label_position
string label_alignment
bool fvg_show
color fvg_color
bool vi_show
color vi_color
bool htf_label_show
color htf_label_color
string htf_label_size
bool htf_timer_show
color htf_timer_color
string htf_timer_size
color dow_color
string dow_size
type CandleSet
array candles
array imbalances
CandleSettings settings
label tfNameTop
label tfNameBottom
label tfTimerTop
label tfTimerBottom
type Helper
string name = 'Helper'
Settings settings = Settings.new()
var CandleSettings SettingsHTF1 = CandleSettings.new()
var CandleSettings SettingsHTF2 = CandleSettings.new()
var CandleSettings SettingsHTF3 = CandleSettings.new()
var CandleSettings SettingsHTF4 = CandleSettings.new()
var CandleSettings SettingsHTF5 = CandleSettings.new()
var CandleSettings SettingsHTF6 = CandleSettings.new()
var array candles_1 = array.new(0)
var array candles_2 = array.new(0)
var array candles_3 = array.new(0)
var array candles_4 = array.new(0)
var array candles_5 = array.new(0)
var array candles_6 = array.new(0)
var array imbalances_1 = array.new()
var array imbalances_2 = array.new()
var array imbalances_3 = array.new()
var array imbalances_4 = array.new()
var array imbalances_5 = array.new()
var array imbalances_6 = array.new()
var CandleSet htf1 = CandleSet.new()
htf1.settings := SettingsHTF1
htf1.candles := candles_1
htf1.imbalances := imbalances_1
var CandleSet htf2 = CandleSet.new()
htf2.settings := SettingsHTF2
htf2.candles := candles_2
htf2.imbalances := imbalances_2
var CandleSet htf3 = CandleSet.new()
htf3.settings := SettingsHTF3
htf3.candles := candles_3
htf3.imbalances := imbalances_3
var CandleSet htf4 = CandleSet.new()
htf4.settings := SettingsHTF4
htf4.candles := candles_4
htf4.imbalances := imbalances_4
var CandleSet htf5 = CandleSet.new()
htf5.settings := SettingsHTF5
htf5.candles := candles_5
htf5.imbalances := imbalances_5
var CandleSet htf6 = CandleSet.new()
htf6.settings := SettingsHTF6
htf6.candles := candles_6
htf6.imbalances := imbalances_6
//+------------------------------------------------------------------------------------------------------------+//
//+--- Settings ---+//
//+------------------------------------------------------------------------------------------------------------+//
string group_style = "Styling ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
string group_label = "Label Settings ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
string group_imbalance = "Imbalance ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
string group_trace = "Trace ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
htf1.settings.show := input.bool(true, 'HTF 1 ', inline = 'htf1')
htf_1 = input.timeframe('D', '', inline = 'htf1')
htf1.settings.htf := htf_1
htf1.settings.max_display := input.int(1, '', inline = 'htf1')
settings.max_sets := input.int(6, 'Limit to next HTFs only', minval = 1, maxval = 6)
settings.use_custom_daily := input.bool(false, 'Custom daily candle open ', inline='customdaily')
settings.custom_daily := input.string('Midnight', '', options= , inline='customdaily')
settings.bull_body := input.color(color.new(color.green, 10), 'Body ', inline = 'body', group=group_style)
settings.bear_body := input.color(color.new(color.red, 10), '', inline = 'body', group=group_style)
settings.bull_border := input.color(color.new(color.black, 10), 'Borders', inline = 'borders', group=group_style)
settings.bear_border := input.color(color.new(color.black, 10), '', inline = 'borders', group=group_style)
settings.bull_wick := input.color(color.new(color.black, 10), 'Wick ', inline = 'wick', group=group_style)
settings.bear_wick := input.color(color.new(color.black, 10), '', inline = 'wick', group=group_style)
settings.offset := input.int(10, 'padding from current candles', minval = 1, group=group_style)
settings.buffer := input.int(1, 'space between candles', minval = 1, maxval = 4, group=group_style)
settings.htf_buffer := input.int(10, 'space between Higher Timeframes', minval = 1, maxval = 10, group=group_style)
settings.width := input.int(1, 'Candle Width', minval = 1, maxval = 4, group=group_style) * 2
settings.htf_label_show := input.bool(true, 'HTF Label ', group=group_label, inline = 'HTFlabel')
settings.htf_label_color := input.color(color.new(color.black, 10), '', group=group_label, inline = 'HTFlabel')
settings.htf_label_size := input.string(size.large, '', , group=group_label, inline = 'HTFlabel')
settings.label_position := input.string("Both", 'Label Positions', options= , group=group_label)
settings.label_alignment := input.string("Align", "Label Alignment", options= , group=group_label)
settings.htf_timer_show := input.bool(true, 'Remaining time ', inline = 'timer', group=group_label)
settings.htf_timer_color := input.color(color.new(color.black, 10), '', inline = 'timer', group=group_label)
settings.htf_timer_size := input.string(size.normal, '', , group=group_label, inline = 'timer')
settings.daily_name := input.bool(false, 'Day of week ', group=group_label, inline = 'dow')
settings.dow_color := input.color(color.black , '', group=group_label, inline = 'dow')
settings.dow_size := input.string(size.small, '', , group=group_label, inline = 'dow')
settings.fvg_show := input.bool(true, 'Fair Value Gap ', group = group_imbalance, inline = 'fvg')
settings.fvg_color := input.color(color.new(color.gray, 80), '', inline = 'fvg', group = group_imbalance)
settings.vi_show := input.bool(true, 'Volume Imbalance', group = group_imbalance, inline = 'vi')
settings.vi_color := input.color(color.new(color.red, 50), '', inline = 'vi', group = group_imbalance)
settings.trace_show := input.bool(true, 'Trace lines', group = group_trace)
settings.trace_o_color := input.color(color.new(color.gray, 50), 'Open ', inline = '1', group = group_trace)
settings.trace_o_style := input.string('····', '', options = , inline = '1', group = group_trace)
settings.trace_o_size := input.int(1, '', options = , inline = '1', group = group_trace)
settings.trace_c_color := input.color(color.new(color.gray, 50), 'Close ', inline = '2', group = group_trace)
settings.trace_c_style := input.string('····', '', options = , inline = '2', group = group_trace)
settings.trace_c_size := input.int(1, '', options = , inline = '2', group = group_trace)
settings.trace_h_color := input.color(color.new(color.gray, 50), 'High ', inline = '3', group = group_trace)
settings.trace_h_style := input.string('····', '', options = , inline = '3', group = group_trace)
settings.trace_h_size := input.int(1, '', options = , inline = '3', group = group_trace)
settings.trace_l_color := input.color(color.new(color.gray, 50), 'Low ', inline = '4', group = group_trace)
settings.trace_l_style := input.string('····', '', options = , inline = '4', group = group_trace)
settings.trace_l_size := input.int(1, '', options = , inline = '4', group = group_trace)
settings.trace_anchor := input.string('First Timeframe', 'Anchor to', options = , group = group_trace)
settings.label_show := input.bool(true, 'Price Label ', inline = 'label')
settings.label_color := input.color(color.new(color.black, 10), '', inline = 'label')
settings.label_size := input.string(size.small, '', , inline = 'label')
//+------------------------------------------------------------------------------------------------------------+//
//+--- Variables ---+//
//+------------------------------------------------------------------------------------------------------------+//
Helper helper = Helper.new()
var Trace trace = Trace.new()
color color_transparent = #ffffff00
//+------------------------------------------------------------------------------------------------------------+//
//+--- Internal Functions ---+//
//+------------------------------------------------------------------------------------------------------------+//
method LineStyle(Helper helper, string style) =>
helper.name := style
out = switch style
'----' => line.style_dashed
'····' => line.style_dotted
=> line.style_solid
out
method DayofWeek(Helper helper, int index) =>
helper.name := 'DOW'
switch
index == 1 => 'M'
index == 2 => 'T'
index == 3 => 'W'
index == 4 => 'T'
index == 5 => 'F'
index == 6 => 'S'
index == 7 => 'S'
na(index) => ''
method ValidTimeframe(Helper helper, string HTF) =>
helper.name := HTF
if timeframe.in_seconds(HTF) >= timeframe.in_seconds('D') and timeframe.in_seconds(HTF) > timeframe.in_seconds()
true
else
n1 = timeframe.in_seconds()
n2 = timeframe.in_seconds(HTF)
n3 = n1 % n2
n1 < n2 and math.round(n2 / n1) == n2 / n1
method RemainingTime(Helper helper, string HTF) =>
helper.name := HTF
if barstate.isrealtime
timeRemaining = (time_close(HTF) - timenow) / 1000
days = math.floor(timeRemaining / 86400)
hours = math.floor((timeRemaining - days * 86400) / 3600)
minutes = math.floor((timeRemaining - days * 86400 - hours * 3600) / 60)
seconds = math.floor(timeRemaining - days * 86400 - hours * 3600 - minutes * 60)
r = str.tostring(seconds, '00')
if minutes > 0 or hours > 0 or days > 0
r := str.tostring(minutes, '00') + ':' + r
r
if hours > 0 or days > 0
r := str.tostring(hours, '00') + ':' + r
r
if days > 0
r := str.tostring(days) + 'D ' + r
r
r
else
'n/a'
method HTFName(Helper helper, string HTF) =>
helper.name := 'HTFName'
formatted = HTF
seconds = timeframe.in_seconds(HTF)
if seconds < 60
formatted := str.tostring(seconds) + 's'
formatted
else if seconds / 60 < 60
formatted := str.tostring(seconds / 60) + 'm'
formatted
else if seconds / 60 / 60 < 24
formatted := str.tostring(seconds / 60 / 60) + 'H'
formatted
formatted
method HTFEnabled(Helper helper) =>
helper.name := 'HTFEnabled'
int enabled = 0
enabled := enabled + (htf1.settings.show ? 1 : 0)
enabled := enabled + (htf2.settings.show ? 1 : 0)
enabled := enabled + (htf3.settings.show ? 1 : 0)
enabled := enabled + (htf4.settings.show ? 1 : 0)
enabled := enabled + (htf5.settings.show ? 1 : 0)
enabled := enabled + (htf6.settings.show ? 1 : 0)
int last = math.min(enabled, settings.max_sets)
last
method CandleSetHigh(Helper helper, array candles, float h) =>
helper.name := 'CandlesSetHigh'
float _h = h
if array.size(candles) > 0
for i = 0 to array.size(candles) - 1 by 1
Candle c = array.get(candles, i)
if c.h > _h
_h := c.h
_h
_h
method CandleSetLow(Helper helper, array candles, float l) =>
helper.name := 'CandlesSetLow'
float _l = l
if array.size(candles) > 0
for i = 0 to array.size(candles) - 1 by 1
Candle c = array.get(candles, i)
if c.l < _l
_l := c.l
_l
_l
method CandlesHigh(Helper helper, array candles) =>
helper.name := 'CandlesHigh'
h = 0.0
int cnt = 0
int last = helper.HTFEnabled()
if htf1.settings.show and helper.ValidTimeframe(htf1.settings.htf)
h := helper.CandleSetHigh(htf1.candles, h)
cnt := cnt + 1
if htf2.settings.show and helper.ValidTimeframe(htf2.settings.htf) and cnt < last
h := helper.CandleSetHigh(htf2.candles, h)
cnt := cnt + 1
if htf3.settings.show and helper.ValidTimeframe(htf3.settings.htf) and cnt < last
h := helper.CandleSetHigh(htf3.candles, h)
cnt := cnt + 1
if htf4.settings.show and helper.ValidTimeframe(htf4.settings.htf) and cnt < last
h := helper.CandleSetHigh(htf4.candles, h)
cnt := cnt + 1
if htf5.settings.show and helper.ValidTimeframe(htf5.settings.htf) and cnt < last
h := helper.CandleSetHigh(htf5.candles, h)
cnt := cnt + 1
if htf6.settings.show and helper.ValidTimeframe(htf6.settings.htf) and cnt < last
h := helper.CandleSetHigh(htf6.candles, h)
if array.size(candles) > 0
for i = 0 to array.size(candles) - 1 by 1
Candle c = array.get(candles, i)
if c.h > h
h := c.h
h
method CandlesLow(Helper helper, array candles, float h) =>
helper.name := 'CandlesLow'
l = h
int cnt = 0
int last = helper.HTFEnabled()
if htf1.settings.show and helper.ValidTimeframe(htf1.settings.htf)
l := helper.CandleSetLow(htf1.candles, l)
cnt := cnt + 1
if htf2.settings.show and helper.ValidTimeframe(htf2.settings.htf) and cnt < last
l := helper.CandleSetLow(htf2.candles, l)
cnt := cnt + 1
if htf3.settings.show and helper.ValidTimeframe(htf3.settings.htf) and cnt < last
l := helper.CandleSetLow(htf3.candles, l)
cnt := cnt + 1
if htf4.settings.show and helper.ValidTimeframe(htf4.settings.htf) and cnt < last
l := helper.CandleSetLow(htf4.candles, l)
cnt := cnt + 1
if htf5.settings.show and helper.ValidTimeframe(htf5.settings.htf) and cnt < last
l := helper.CandleSetLow(htf5.candles, l)
cnt := cnt + 1
if htf6.settings.show and helper.ValidTimeframe(htf6.settings.htf) and cnt < last
l := helper.CandleSetLow(htf6.candles, l)
if array.size(candles) > 0
for i = 0 to array.size(candles) - 1 by 1
Candle c = array.get(candles, i)
if c.l < l
l := c.l
l
method UpdateTime(CandleSet candleSet, int offset) =>
if settings.htf_timer_show and (barstate.isrealtime or barstate.islast)
string tmr = '(' + helper.RemainingTime(candleSet.settings.htf) + ')'
if not na(candleSet.tfTimerTop)
candleSet.tfTimerTop.set_text(tmr)
if not na(candleSet.tfTimerBottom)
candleSet.tfTimerBottom.set_text(tmr)
candleSet
method Reorder(CandleSet candleSet, int offset) =>
size = candleSet.candles.size()
if size > 0
for i = size - 1 to 0 by 1
Candle candle = candleSet.candles.get(i)
t_buffer = offset + (settings.width + settings.buffer) * (size - i - 1)
box.set_left(candle.body, bar_index + t_buffer)
box.set_right(candle.body, bar_index + settings.width + t_buffer)
line.set_x1(candle.wick_up, bar_index + settings.width / 2 + t_buffer)
line.set_x2(candle.wick_up, bar_index + settings.width / 2 + t_buffer)
line.set_x1(candle.wick_down, bar_index + settings.width / 2 + t_buffer)
line.set_x2(candle.wick_down, bar_index + settings.width / 2 + t_buffer)
if settings.daily_name and candleSet.settings.htf == '1D'
if not na(candle.dow_label)
candle.dow_label.set_y(candle.h)
candle.dow_label.set_x(bar_index + settings.width / 2 + t_buffer)
candle.dow_label.set_text(candle.dow)
else
candle.dow_label := label.new(bar_index + settings.width / 2 + t_buffer, candle.h, candle.dow, color = color_transparent, textcolor = settings.dow_color, style = label.style_label_down, size = settings.dow_size)
top = 0.0
bottom = 0.0
if settings.label_alignment == 'Align'
top := helper.CandlesHigh(candleSet.candles)
bottom := helper.CandlesLow(candleSet.candles, top)
if settings.label_alignment == 'Follow Candles'
top := helper.CandleSetHigh(candleSet.candles, 0)
bottom := helper.CandleSetLow(candleSet.candles, top)
left = bar_index + offset + (settings.width + settings.buffer) * (size - 1) / 2
if settings.htf_label_show
string lblt = helper.HTFName(candleSet.settings.htf)
string lbll = lblt
if settings.htf_timer_show
lblt := lblt + '\n'
lbll := '\n' + lbll
string tmr = '(' + helper.RemainingTime(candleSet.settings.htf) + ')'
if settings.label_position == 'Both' or settings.label_position == 'Top'
if not na(candleSet.tfNameTop)
candleSet.tfNameTop.set_xy(left, top)
else
candleSet.tfNameTop := label.new(left, top, lblt, color = color_transparent, textcolor = settings.htf_label_color, style = label.style_label_down, size = settings.htf_label_size)
if not na(candleSet.tfTimerTop)
candleSet.tfTimerTop.set_xy(left, top)
else
candleSet.tfTimerTop := label.new(left, top, tmr, color = color_transparent, textcolor = settings.htf_timer_color, style = label.style_label_down, size = settings.htf_timer_size)
if settings.label_position == 'Both' or settings.label_position == 'Bottom'
if not na(candleSet.tfNameBottom)
candleSet.tfNameBottom.set_xy(left, bottom)
else
candleSet.tfNameBottom := label.new(left, bottom, lbll, color = color_transparent, textcolor = settings.htf_label_color, style = label.style_label_up, size = settings.htf_label_size)
if not na(candleSet.tfTimerBottom)
candleSet.tfTimerBottom.set_xy(left, bottom)
else
candleSet.tfTimerBottom := label.new(left, bottom, tmr, color = color_transparent, textcolor = settings.htf_timer_color, style = label.style_label_up, size = settings.htf_timer_size)
candleSet
method FindImbalance(CandleSet candleSet) =>
if barstate.isrealtime or barstate.islast
if candleSet.imbalances.size() > 0
for i = candleSet.imbalances.size() - 1 to 0 by 1
Imbalance del = candleSet.imbalances.get(i)
box.delete(del.b)
candleSet.imbalances.pop()
if candleSet.candles.size() > 3 and settings.fvg_show
for i = 0 to candleSet.candles.size() - 3 by 1
candle1 = candleSet.candles.get(i)
candle2 = candleSet.candles.get(i + 2)
candle3 = candleSet.candles.get(i + 1)
if candle1.l > candle2.h and math.min(candle1.o, candle1.c) > math.max(candle2.o, candle2.c)
Imbalance imb = Imbalance.new()
imb.b := box.new(box.get_left(candle2.body), candle2.h, box.get_right(candle1.body), candle1.l, bgcolor = settings.fvg_color, border_color = color_transparent, xloc = xloc.bar_index)
candleSet.imbalances.push(imb)
if candle1.h < candle2.l and math.max(candle1.o, candle1.c) < math.min(candle2.o, candle2.c)
Imbalance imb = Imbalance.new()
imb.b := box.new(box.get_right(candle1.body), candle1.h, box.get_left(candle2.body), candle2.l, bgcolor = settings.fvg_color, border_color = color_transparent)
candleSet.imbalances.push(imb)
box temp = box.copy(candle3.body)
box.delete(candle3.body)
candle3.body := temp
candle3.body
if candleSet.candles.size() > 2 and settings.vi_show
for i = 0 to candleSet.candles.size() - 2 by 1
candle1 = candleSet.candles.get(i)
candle2 = candleSet.candles.get(i + 1)
if candle1.l < candle2.h and math.min(candle1.o, candle1.c) > math.max(candle2.o, candle2.c)
Imbalance imb = Imbalance.new()
imb.b := box.new(box.get_left(candle2.body), math.min(candle1.o, candle1.c), box.get_right(candle1.body), math.max(candle2.o, candle2.c), bgcolor = settings.vi_color, border_color = color_transparent)
candleSet.imbalances.push(imb)
if candle1.h > candle2.l and math.max(candle1.o, candle1.c) < math.min(candle2.o, candle2.c)
Imbalance imb = Imbalance.new()
imb.b := box.new(box.get_right(candle1.body), math.min(candle2.o, candle2.c), box.get_left(candle2.body), math.max(candle1.o, candle1.c), bgcolor = settings.vi_color, border_color = color_transparent)
candleSet.imbalances.push(imb)
candleSet
method Monitor(CandleSet candleSet) =>
HTFBarTime = time(candleSet.settings.htf)
isNewHTFCandle = ta.change(HTFBarTime) > 0
if settings.use_custom_daily
int _830 = 0
if isNewHTFCandle
_830 := timestamp("America/New_York", year(time), month(time), dayofmonth(time), 0, 0) + 30600000
if candleSet.settings.htf == '1D'
if settings.custom_daily == 'Midnight'
isNewHTFCandle := dayofweek(time, 'America/New_York') != dayofweek(time - (time - time ), 'America/New_York')
if settings.custom_daily == '8:30'
// Get 8:30 AM New York time for today
isNewHTFCandle := not na(time(timeframe.period, "0830-0831:123456", 'America/New_York')) and na(time(timeframe.period, "0830-0831:123456", 'America/New_York') )
if settings.custom_daily == '9:30'
// Get 9:30 AM New York time for today
isNewHTFCandle := not na(time(timeframe.period, "0930-0931:123456", 'America/New_York')) and na(time(timeframe.period, "0930-0931:123456", 'America/New_York') )
if isNewHTFCandle
Candle candle = Candle.new()
candle.o := open
candle.c := close
candle.h := high
candle.l := low
candle.o_idx := bar_index
candle.c_idx := bar_index
candle.h_idx := bar_index
candle.l_idx := bar_index
candle.dow := helper.DayofWeek(dayofweek(time_tradingday, "America/New_York"))
bull = candle.c > candle.o
candle.body := box.new(bar_index, math.max(candle.o, candle.c), bar_index + 2, math.min(candle.o, candle.c), bull ? settings.bull_border : settings.bear_border, 1, bgcolor = bull ? settings.bull_body : settings.bear_body)
candle.wick_up := line.new(bar_index + 1, candle.h, bar_index, math.max(candle.o, candle.c), color = bull ? settings.bull_wick : settings.bear_wick)
candle.wick_down := line.new(bar_index + 1, math.min(candle.o, candle.c), bar_index, candle.l, color = bull ? settings.bull_wick : settings.bear_wick)
candleSet.candles.unshift(candle)
if candleSet.candles.size() > candleSet.settings.max_display
Candle delCandle = array.pop(candleSet.candles)
box.delete(delCandle.body)
line.delete(delCandle.wick_up)
line.delete(delCandle.wick_down)
candleSet
method Update(CandleSet candleSet, int offset, bool showTrace) =>
if candleSet.candles.size() > 0
Candle candle = candleSet.candles.first()
candle.h_idx := high > candle.h ? bar_index : candle.h_idx
candle.h := high > candle.h ? high : candle.h
candle.l_idx := low < candle.l ? bar_index : candle.l_idx
candle.l := low < candle.l ? low : candle.l
candle.c := close
candle.c_idx := bar_index
bull = candle.c > candle.o
box.set_top(candle.body, candle.o)
box.set_bottom(candle.body, candle.c)
box.set_bgcolor(candle.body, bull ? settings.bull_body : settings.bear_body)
box.set_border_color(candle.body, bull ? settings.bull_border : settings.bear_border)
line.set_color(candle.wick_up, bull ? settings.bull_wick : settings.bear_wick)
line.set_color(candle.wick_down, bull ? settings.bull_wick : settings.bear_wick)
line.set_y1(candle.wick_up, candle.h)
line.set_y2(candle.wick_up, math.max(candle.o, candle.c))
line.set_y1(candle.wick_down, candle.l)
line.set_y2(candle.wick_down, math.min(candle.o, candle.c))
if barstate.isrealtime or barstate.islast
candleSet.Reorder(offset)
if settings.trace_show and showTrace
if bar_index - candle.o_idx < 5000
if na(trace.o)
trace.o := line.new(candle.o_idx, candle.o, box.get_left(candle.body), candle.o, xloc = xloc.bar_index, color = settings.trace_o_color, style = helper.LineStyle(settings.trace_o_style), width = settings.trace_o_size)
trace.o
else
line.set_xy1(trace.o, candle.o_idx, candle.o)
line.set_xy2(trace.o, box.get_left(candle.body), candle.o)
if settings.label_show
if na(trace.o_l)
trace.o_l := label.new(box.get_right(candle.body), candle.o, str.tostring(candle.o), textalign = text.align_center, style = label.style_label_left, size = settings.label_size, color = color_transparent, textcolor = settings.label_color)
trace.o_l
else
label.set_xy(trace.o_l, box.get_right(candle.body), candle.o)
label.set_text(trace.o_l, str.tostring(candle.o))
if bar_index - candle.c_idx < 5000
if na(trace.c)
trace.c := line.new(candle.c_idx, candle.c, box.get_left(candle.body), candle.c, xloc = xloc.bar_index, color = settings.trace_c_color, style = helper.LineStyle(settings.trace_c_style), width = settings.trace_c_size)
trace.c
else
line.set_xy1(trace.c, candle.c_idx, candle.c)
line.set_xy2(trace.c, box.get_left(candle.body), candle.c)
if settings.label_show
if na(trace.c_l)
trace.c_l := label.new(box.get_right(candle.body), candle.c, str.tostring(candle.c), textalign = text.align_center, style = label.style_label_left, size = settings.label_size, color = color_transparent, textcolor = settings.label_color)
trace.c_l
else
label.set_xy(trace.c_l, box.get_right(candle.body), candle.c)
label.set_text(trace.c_l, str.tostring(candle.c))
if bar_index - candle.h_idx < 5000
if na(trace.h)
trace.h := line.new(candle.h_idx, candle.h, line.get_x1(candle.wick_up), candle.h, xloc = xloc.bar_index, color = settings.trace_h_color, style = helper.LineStyle(settings.trace_h_style), width = settings.trace_h_size)
trace.h
else
line.set_xy1(trace.h, candle.h_idx, candle.h)
line.set_xy2(trace.h, line.get_x1(candle.wick_up), candle.h)
if settings.label_show
if na(trace.h_l)
trace.h_l := label.new(box.get_right(candle.body), candle.h, str.tostring(candle.h), textalign = text.align_center, style = label.style_label_left, size = settings.label_size, color = color_transparent, textcolor = settings.label_color)
trace.h_l
else
label.set_xy(trace.h_l, box.get_right(candle.body), candle.h)
label.set_text(trace.h_l, str.tostring(candle.h))
if bar_index - candle.l_idx < 5000
if na(trace.l)
trace.l := line.new(candle.l_idx, candle.l, line.get_x1(candle.wick_down), candle.l, xloc = xloc.bar_index, color = settings.trace_l_color, style = helper.LineStyle(settings.trace_l_style), width = settings.trace_l_size)
trace.l
else
line.set_xy1(trace.l, candle.l_idx, candle.l)
line.set_xy2(trace.l, line.get_x1(candle.wick_down), candle.l)
if settings.label_show
if na(trace.l_l)
trace.l_l := label.new(box.get_right(candle.body), candle.l, str.tostring(candle.l), textalign = text.align_center, style = label.style_label_left, size = settings.label_size, color = color_transparent, textcolor = settings.label_color)
trace.l_l
else
label.set_xy(trace.l_l, box.get_right(candle.body), candle.l)
label.set_text(trace.l_l, str.tostring(candle.l))
candleSet
int cnt = 0
int last = helper.HTFEnabled()
int offset = settings.offset
if htf1.settings.show and helper.ValidTimeframe(htf1.settings.htf)
bool showTrace = false
if settings.trace_anchor == 'First Timeframe'
showTrace := true
showTrace
if settings.trace_anchor == 'Last Timeframe' and settings.max_sets == 1
showTrace := true
showTrace
htf1.UpdateTime(offset)
htf1.Monitor().Update(offset, showTrace).FindImbalance()
cnt := cnt + 1
offset := offset + (cnt > 0 ? htf1.candles.size() * settings.width + (htf1.candles.size() > 0 ? (htf1.candles.size() - 1) * settings.buffer : 0) + settings.htf_buffer : 0)
offset
if htf2.settings.show and helper.ValidTimeframe(htf2.settings.htf) and cnt < last
bool showTrace = false
if settings.trace_anchor == 'First Timeframe' and cnt == 0
showTrace := true
showTrace
if settings.trace_anchor == 'Last Timeframe' and cnt == last - 1
showTrace := true
showTrace
htf2.UpdateTime(offset)
htf2.Monitor().Update(offset, showTrace).FindImbalance()
cnt := cnt + 1
offset := offset + (cnt > 0 ? htf2.candles.size() * settings.width + (htf2.candles.size() > 0 ? (htf2.candles.size() - 1) * settings.buffer : 0) + settings.htf_buffer : 0)
offset
if htf3.settings.show and helper.ValidTimeframe(htf3.settings.htf) and cnt < last
bool showTrace = false
if settings.trace_anchor == 'First Timeframe' and cnt == 0
showTrace := true
showTrace
if settings.trace_anchor == 'Last Timeframe' and cnt == last - 1
showTrace := true
showTrace
htf3.UpdateTime(offset)
htf3.Monitor().Update(offset, showTrace).FindImbalance()
cnt := cnt + 1
offset := offset + (cnt > 0 ? htf3.candles.size() * settings.width + (htf3.candles.size() > 0 ? (htf3.candles.size() - 1) * settings.buffer : 0) + settings.htf_buffer : 0)
offset
if htf4.settings.show and helper.ValidTimeframe(htf4.settings.htf) and cnt < last
bool showTrace = false
if settings.trace_anchor == 'First Timeframe' and cnt == 0
showTrace := true
showTrace
if settings.trace_anchor == 'Last Timeframe' and cnt == last - 1
showTrace := true
showTrace
htf4.UpdateTime(offset)
htf4.Monitor().Update(offset, showTrace).FindImbalance()
cnt := cnt + 1
offset := offset + (cnt > 0 ? htf4.candles.size() * settings.width + (htf4.candles.size() > 0 ? (htf4.candles.size() - 1) * settings.buffer : 0) + settings.htf_buffer : 0)
offset
if htf5.settings.show and helper.ValidTimeframe(htf5.settings.htf) and cnt < last
bool showTrace = false
if settings.trace_anchor == 'First Timeframe' and cnt == 0
showTrace := true
showTrace
if settings.trace_anchor == 'Last Timeframe' and cnt == last - 1
showTrace := true
showTrace
htf5.UpdateTime(offset)
htf5.Monitor().Update(offset, showTrace).FindImbalance()
cnt := cnt + 1
offset := offset + (cnt > 0 ? htf5.candles.size() * settings.width + (htf5.candles.size() > 0 ? (htf5.candles.size() - 1) * settings.buffer : 0) + settings.htf_buffer : 0)
offset
if htf6.settings.show and helper.ValidTimeframe(htf6.settings.htf) and cnt < last
bool showTrace = false
if settings.trace_anchor == 'First Timeframe' and cnt == 0
showTrace := true
showTrace
if settings.trace_anchor == 'Last Timeframe'
showTrace := true
showTrace
htf6.UpdateTime(offset)
htf6.Monitor().Update(offset, showTrace).FindImbalance()
//---------------------------------------------------------------------------------------------------------------------
// Style
bullBCss = input(color.new(#089981, 40), 'Bullish BFVG', inline = 'bull', group = 'Style')
bullCss = input(color.new(#9598a1, 40), 'FVG' , inline = 'bull', group = 'Style')
bearBCss = input(color.new(#f23645, 40), 'Bearish BFVG', inline = 'bear', group = 'Style')
bearCss = input(color.new(#434651, 40), 'FVG' , inline = 'bear', group = 'Style')
//---------------------------------------------------------------------------------------------------------------------
// Detection
//---------------------------------------------------------------------------------------------------------------------
upper = ta.highest(length)
lower = ta.lowest(length)
mid = math.avg(upper, lower)
p = bar_index
bull_fvg = low > high and close > high
bear_fvg = high < low and close < low
// Bullish BFVG
if low > upper and bull_fvg
box.new(n-2, high , n, low, na, bgcolor = bullBCss)
// Bearish BFVG
if high < lower and bear_fvg
box.new(n-2, low , n, high, na, bgcolor = bearBCss)
DAMMU Buy vs Sell Liquidity + DifferenceIndicator Name:
Buy vs Sell Liquidity + Difference
Purpose:
This indicator helps traders analyze market liquidity by comparing the cumulative buy and sell volumes within a specified timeframe. It shows which side (buyers or sellers) is dominating and the magnitude of the imbalance.
Key Features:
Aggregation Timeframe:
Users can select the timeframe (1, 2, 3, 5, 15, 30 minutes) for which volume is analyzed.
Buy & Sell Volume Calculation:
Buy Volume: Total volume of candles where close > open.
Sell Volume: Total volume of candles where close < open.
Daily Reset:
Totals reset at the start of each new day, ensuring intra-day liquidity analysis.
Difference Calculation:
Shows the absolute difference between buy and sell volumes.
Also calculates the difference as a percentage of total volume.
Percentages:
Displays buy %, sell %, and diff % to 4 decimal places, giving precise insights.
Table Display:
A two-row table in the top-right corner of the chart:
Row 1: Absolute totals for BUY, SELL, and DIFF (full numbers with commas).
Row 2: Percentages for BUY, SELL, and DIFF (4 decimals).
Uses color coding: Green for BUY, Red for SELL, Dynamic for DIFF (based on dominance).
How to Use:
High Buy Volume: Indicates strong buying pressure; bullish sentiment.
High Sell Volume: Indicates strong selling pressure; bearish sentiment.
Large DIFF %: Signals dominant market side; useful for short-term scalping or spotting liquidity imbalance.
Comparing BUY vs SELL %: Helps identify when the market may reverse or continue the trend.
If you want, I can also make a 1-paragraph “trader-friendly” explanation that you could directly include in your Pine Script as a comment or in a strategy guide.
Trend Fib Zone Bounce (TFZB) [KedArc Quant]Description:
Trend Fib Zone Bounce (TFZB) trades with the latest confirmed Supply/Demand zone using a single, configurable Fib pullback (0.3/0.5/0.6). Trade only in the direction of the most recent zone and use a single, configurable fib level for pullback entries.
• Detects market structure via confirmed swing highs/lows using a rolling window.
• Draws Supply/Demand zones (bearish/bullish rectangles) from the latest MSS (CHOCH or BOS) event.
• Computes intra zone Fib guide rails and keeps them extended in real time.
• Triggers BUY only inside bullish zones and SELL only inside bearish zones when price touches the selected fib and closes back beyond it (bounce confirmation).
• Optional labels print BULL/BEAR + fib next to the triangle markers.
What it does
Finds structure using confirmed swing highs/lows (you choose the confirmation length).
Builds the latest zone (bullish = demand, bearish = supply) after a CHOCH/BOS event.
Draws intra-zone “guide rails” (Fib lines) and extends them live.
Signals only with the trend of that zone:
BUY inside a bullish zone when price tags the selected Fib and closes back above it.
SELL inside a bearish zone when price tags the selected Fib and closes back below it.
Optional labels print BULL/BEAR + Fib next to triangles for quick context
Why this is different
Most “zone + fib + signal” tools bolt together several indicators, or fire counter-trend signals because they don’t fully respect structure. TFZB is intentionally minimal:
Single bias source: the latest confirmed zone defines direction; nothing else overrides it.
Single entry rule: one Fib bounce (0.3/0.5/0.6 selectable) inside that zone—no counter-trend trades by design.
Clean visuals: you can show only the most recent zone, clamp overlap, and keep just the rails that matter.
Deterministic & transparent: every plot/label comes from the code you see—no external series or hidden smoothing
How it helps traders
Cuts decision noise: you always know the bias and the only entry that matters right now.
Forces discipline: if price isn’t inside the active zone, you don’t trade.
Adapts to volatility: pick 0.3 in strong trends, 0.5 as the default, 0.6 in chop.
Non-repainting zones: swings are confirmed after Structure Length bars, then used to build zones that extend forward (they don’t “teleport” later)
How it works (details)
*Structure confirmation
A swing high/low is only confirmed after Structure Length bars have elapsed; the dot is plotted back on the original bar using offset. Expect a confirmation delay of about Structure Length × timeframe.
*Zone creation
After a CHOCH/BOS (momentum shift / break of prior swing), TFZB draws the new Supply/Demand zone from the swing anchors and sets it active.
*Fib guide rails
Inside the active zone TFZB projects up to five Fib lines (defaults: 0.3 / 0.5 / 0.7) and extends them as time passes.
*Entry logic (with-trend only)
BUY: bar’s low ≤ fib and close > fib inside a bullish zone.
SELL: bar’s high ≥ fib and close < fib inside a bearish zone.
*Optionally restrict to one signal per zone to avoid over-trading.
(Optional) Aggressive confirm-bar entry
When do the swing dots print?
* The code confirms a swing only after `structureLen` bars have elapsed since that candidate high/low.
* On a 5-min chart with `structureLen = 10`, that’s about 50 minutes later.
* When the swing confirms, the script plots the dot back on the original bar (via `offset = -structureLen`). So you *see* the dot on the old bar, but it only appears on the chart once the confirming bar arrives.
> Practical takeaway: expect swing markers to appear roughly `structureLen × timeframe` later. Zones and signals are built from those confirmed swings.
Best timeframe for this Indicator
Use the timeframe that matches your holding period and the noise level of the instrument:
* Intraday :
* 5m or 15m are the sweet spots.
* Suggested `structureLen`:
* 5m: 10–14 (confirmation delay \~50–70 min)
* 15m: 8–10 (confirmation delay \~2–2.5 hours)
* Keep Entry Fib at 0.5 to start; try 0.3 in strong trends, 0.6 in chop.
* Tip: avoid the first 10–15 minutes after the open; let the initial volatility set the early structure.
* Swing/overnight:
* 1h or 4h.
* `structureLen`:
* 1h: 6–10 (6–10 hours confirmation)
* 4h: 5–8 (20–32 hours confirmation)
* 1m scalping: not recommended here—the confirmation lag relative to the noise makes zones less reliable.
Inputs (all groups)
Structure
• Show Swing Points (structureTog)
o Plots small dots on the bar where a swing point is confirmed (offset back by Structure Length).
• Structure Length (structureLen)
o Lookback used to confirm swing highs/lows and determine local structure. Higher = fewer, stronger swings; lower = more reactive.
Zones
• Show Last (zoneDispNum)
o Maximum number of zones kept on the chart when Display All Zones is off.
• Display All Zones (dispAll)
o If on, ignores Show Last and keeps all zones/levels.
• Zone Display (zoneFilter): Bullish Only / Bearish Only / Both
o Filters which zone types are drawn and eligible for signals.
• Clean Up Level Overlap (noOverlap)
o Prevents fib lines from overlapping when a new zone starts near the previous one (clamps line start/end times for readability).
Fib Levels
Each row controls whether a fib is drawn and how it looks:
• Toggle (f1Tog…f5Tog): Show/hide a given fib line.
• Level (f1Lvl…f5Lvl): Numeric ratio in . Defaults active: 0.3, 0.5, 0.7 (0 and 1 off by default).
• Line Style (f1Style…f5Style): Solid / Dashed / Dotted.
• Bull/Bear Colors (f#BullColor, f#BearColor): Per-fib color in bullish vs bearish zones.
Style
• Structure Color: Dot color for confirmed swing points.
• Bullish Zone Color / Bearish Zone Color: Rectangle fills (transparent by default).
Signals
• Entry Fib for Signals (entryFibSel): Choose 0.3, 0.5 (default), or 0.6 as the trigger line.
• Show Buy/Sell Signals (showSignals): Toggles triangle markers on/off.
• One Signal Per Zone (oneSignalPerZone): If on, suppresses additional entries within the same zone after the first trigger.
• Show Signal Text Labels (Bull/Bear + Fib) (showSignalLabels): Adds a small label next to each triangle showing zone bias and the fib used (e.g., BULL 0.5 or BEAR 0.3).
How TFZB decides signals
With trend only:
• BUY
1. Latest active zone is bullish.
2. Current bar’s close is inside the zone (between top and bottom).
3. The bar’s low ≤ selected fib and it closes > selected fib (bounce).
• SELL
1. Latest active zone is bearish.
2. Current bar’s close is inside the zone.
3. The bar’s high ≥ selected fib and it closes < selected fib.
Markers & labels
• BUY: triangle up below the bar; optional label “BULL 0.x” above it.
• SELL: triangle down above the bar; optional label “BEAR 0.x” below it.
Right-Panel Swing Log (Table)
What it is
A compact, auto-updating log of the most recent Swing High/Low events, printed in the top-right of the chart.
It helps you see when a pivot formed, when it was confirmed, and at what price—so you know the earliest bar a zone-based signal could have appeared.
Columns
Type – Swing High or Swing Low.
Date – Calendar date of the swing bar (follows the chart’s timezone).
Swing @ – Time of the original swing bar (where the dot is drawn).
Confirm @ – Time of the bar that confirmed that swing (≈ Structure Length × timeframe after the swing). This is also the earliest moment a new zone/entry can be considered.
Price – The swing price (high for SH, low for SL).
Why it’s useful
Clarity on repaint/confirmation: shows the natural delay between a swing forming and being usable—no guessing.
Planning & journaling: quick reference of today’s pivots and prices for notes/backtesting.
Scanning intraday: glance to see if you already have a confirmed zone (and therefore valid fib-bounce entries), or if you’re still waiting.
Context for signals: if a fib-bounce triangle appears before the time listed in Confirm @, it’s not a valid trade (you were too early).
Settings (Inputs → Logging)
Log swing times / Show table – turn the table on/off.
Rows to keep – how many recent entries to display.
Show labels on swing bar – optional tags on the chart (“Swing High 11:45”, “Confirm SH 14:15”) that match the table.
Recommended defaults
• Structure Length: 10–20 for intraday; 20–40 for swing.
• Entry Fib for Signals: 0.5 to start; try 0.3 in stronger trends and 0.6 in choppier markets.
• One Signal Per Zone: ON (prevents over trading).
• Zone Display: Both.
• Fib Lines: Keep 0.3/0.5/0.7 on; turn on 0 and 1 only if you need anchors.
Alerts
Two alert conditions are available:
• BUY signal – fires when a with trend bullish bounce at the selected fib occurs inside a bullish zone.
• SELL signal – fires when a with trend bearish bounce at the selected fib occurs inside a bearish zone.
Create alerts from the chart’s Alerts panel and select the desired condition. Use Once Per Bar Close to avoid intrabar flicker.
Notes & tips
• Swing dots are confirmed only after Structure Length bars, so they plot back in time; zones built from these confirmed swings do not repaint (though they extend as new bars form).
• If you don’t see a BUY where you expect one, check: (1) Is the active zone bullish? (2) Did the candle’s low actually pierce the selected fib and close above it? (3) Is One Signal Per Zone suppressing a second entry?
• You can hide visual clutter by reducing Show Last to 1–3 while keeping Display All Zones off.
Glossary
• CHOCH (Change of Character): A shift where price breaks beyond the last opposite swing while local momentum flips.
• BOS (Break of Structure): A cleaner break beyond the prior swing level in the current momentum direction.
• MSS: Either CHOCH or BOS – any event that spawns a new zone.
Extension ideas (optional)
• Add fib extensions (1.272 / 1.618) for target lines.
• Zone quality score using ATR normalization to filter weak impulses.
• HTF filter to only accept zones aligned with a higher timeframe trend.
⚠️ Disclaimer This script is provided for educational purposes only.
Past performance does not guarantee future results.
Trading involves risk, and users should exercise caution and use proper risk management when applying this strategy.
ML-Enhanced Multi-Indicator Composite Signal🤖 ML-Enhanced Multi-Indicator Composite Signal
Revolutionary AI-Powered Trading Indicator with Adaptive Learning
Transform your trading with cutting-edge machine learning technology that automatically optimizes indicator weights based on real market performance!
🎯 What Makes This Indicator Special?
This isn't just another composite indicator. It's an intelligent trading system that learns from market data and continuously adapts to improve signal accuracy. Unlike static indicators with fixed weights, this AI-powered tool dynamically adjusts the importance of each technical indicator based on their actual prediction success rates.
⚡ Key Features
🤖 Adaptive Machine Learning Engine
Automatically tracks prediction accuracy for each indicator
Dynamically adjusts weights based on performance
Continuous learning and adaptation to market conditions
Configurable learning parameters for fine-tuning
📊 Multi-Indicator Fusion
SuperTrend: Trend direction and momentum
Moving Averages: Price trend confirmation (SMA/EMA/WMA/RMA)
VWAP: Volume-weighted price levels
Linear Regression: Mathematical trend analysis
🎯 Intelligent Signal Generation
Strong Buy/Buy/Sell/Strong Sell signals
Configurable threshold levels
Signal smoothing to reduce noise
Smart signal timing to avoid repetitive alerts
📈 Performance Analytics Dashboard
Real-time accuracy tracking for each indicator
Weight distribution visualization
ML vs. Equal weights comparison
Learning progress monitoring
🚀 How It Works
1. Data Collection Phase
The indicator continuously monitors the performance of each technical component, storing predictions and actual market outcomes.
2. Learning Phase
Using configurable learning periods (20-500 bars), the ML engine calculates accuracy rates for each indicator's predictions.
3. Weight Optimization
Based on performance data, the system automatically adjusts weights using a configurable learning rate, ensuring better-performing indicators have more influence.
4. Signal Generation
The optimized composite signal triggers buy/sell alerts when crossing predefined thresholds, with visual signals and background coloring.
⚙️ Customization Options
Machine Learning Parameters
Learning Period: 20-500 bars (default: 100)
Prediction Horizon: 1-20 bars (default: 5)
Learning Rate: 0.01-1.0 (default: 0.1)
Minimum Weight: Prevents any indicator from becoming irrelevant
Performance Smoothing: Reduces noise in accuracy calculations
Traditional Settings
SuperTrend: Period and multiplier adjustment
Moving Average: Type selection and length
VWAP: Source customization
Linear Regression: Length and source options
Signal Configuration
Threshold Levels: Customizable buy/sell trigger points
Signal Smoothing: Reduces false signals
Manual Override: Option to use fixed weights instead of ML
📱 Visual Features
Signal Line Display
Dynamic color coding based on signal strength
Threshold level lines for clear entry/exit points
Background coloring for quick market sentiment assessment
Performance Table
Real-time accuracy metrics for each indicator
Current weight distribution showing ML optimization
Performance comparison between ML and equal weights
Learning progress indicator
Signal Shapes
🚀 Strong Buy: Large green triangle with text
📈 Buy: Standard green triangle
📉 Sell: Standard red triangle
💥 Strong Sell: Large red triangle with text
🎓 Best Practices & Usage Tips
For Beginners
Start with default ML settings
Allow 100+ bars for proper learning
Focus on Strong Buy/Sell signals initially
Monitor the performance table to understand ML adaptation
For Advanced Traders
Adjust learning rate based on market volatility
Customize prediction horizon for your trading timeframe
Fine-tune threshold levels for your risk tolerance
Combine with additional confirmation indicators
Recommended Settings by Timeframe
Scalping (1m-5m): Learning Period: 50, Prediction Horizon: 3
Day Trading (15m-1h): Learning Period: 100, Prediction Horizon: 5
Swing Trading (4h-1D): Learning Period: 200, Prediction Horizon: 10
🔔 Alert System
Set up comprehensive alerts for:
Strong Buy/Sell signals with maximum consensus
Regular Buy/Sell signals for standard entries
Custom message templates with price and signal strength
Email, SMS, and webhook compatibility
⚠️ Important Notes
Learning Period: Allow sufficient data for ML optimization (minimum 50 bars recommended)
Market Conditions: Performance may vary during high volatility or trending vs. ranging markets
Backtesting: Test thoroughly on historical data before live trading
Risk Management: Always use proper position sizing and stop losses
🏆 Why Choose This Indicator?
✅ Adaptive Intelligence: Unlike static indicators, this tool evolves with market conditions
✅ Transparent Performance: See exactly how well each component is performing
✅ Comprehensive Analytics: Make informed decisions with detailed performance metrics
✅ Professional Grade: Developed by experienced traders for serious market participants
✅ Continuous Innovation: Regular updates and improvements based on user feedback
📊 Performance Tracking
The indicator provides unprecedented transparency into its decision-making process:
Individual indicator accuracy rates
Weight evolution over time
Improvement metrics vs. baseline
Learning curve visualization
Transform your trading with the power of adaptive machine learning. Let the market data guide your strategy optimization automatically!
Tags: Machine Learning, AI Trading, Composite Signal, Multi-Indicator, Adaptive Algorithm, Signal Generation, Trading Automation, Technical Analysis
Category: Trend Following, Oscillators, Signal Generators
Trading Mastery Indicator# Trading Mastery Indicator - Complete User Guide
## Overview
The Trading Mastery Indicator is a professional-grade technical analysis tool that provides high-probability trading signals with complete trade management information including entry, stop loss, and take profit levels.
## Key Features
- High-Quality Signal Detection: Identifies strong, medium, and weak trading opportunities
- Complete Trade Setup: Provides entry, stop loss, and take profit for every signal
- Risk Management: Calculates risk-to-reward ratios automatically
- Elliott Wave Analysis: Integrated wave pattern and position analysis
- Active Signal Tracking: Shows when you're currently in a trade
- Professional Alerts: Detailed notifications with all trade parameters
## Signal Quality Classification
### STRONG Signals (Premium Quality)
- Reliability: Highest probability setups
- Market Conditions: Strong trending environments
- Color: Teal for buys, Red for sells
- When to Trade: These are your primary trading opportunities
- Risk Profile: Lowest risk, highest reward potential
### MEDIUM Signals (Standard Quality)
- Reliability: Good probability setups
- Market Conditions: Moderate trend or consolidation breakouts
- Color: Gold for buys, Purple for sells (Change to Blue Gray)
- When to Trade: Secondary opportunities when strong signals are scarce
- Risk Profile: Moderate risk, good reward potential
### WEAK Signals (Entry Quality)
- Reliability: Lower probability setups
- Market Conditions: Counter-trend or unclear market structure
- Color: Coral for buys, Pink for sells
- When to Trade: Only for experienced traders in specific market conditions
- Risk Profile: Higher risk, variable reward
## How to Use the Indicator
### 1. Signal Settings Configuration
Signal Filter Options:
- All Signals: Shows every trading opportunity (strong, medium, weak)
- High Quality Only: Shows only the highest probability setups
- High + Medium Quality**: Balanced approach filtering out weak signals
Recommended Settings by Experience:
- Beginner: Use "High Quality Only"
- Intermediate: Use "High + Medium Quality"
- Advanced: Use "All Signals" with proper risk management
Label Controls:
- Label Position: Adjust how close labels appear to candles
- Label Text Size: Choose based on screen size and preference
- Maximum Labels: Control chart clutter (recommended: 20)
### 2. Understanding the Professional Panel
The panel provides real-time market intelligence:
Primary Trend: Market direction analysis
- BULLISH TREND: Look for buy opportunities only
- BEARISH TREND: Look for sell opportunities only
- CONSOLIDATION: Market indecision, trade with caution
Wave Pattern: Elliott Wave structure analysis
- IMPULSE UP: Strong bullish momentum
- IMPULSE DOWN: Strong bearish momentum
- CORRECTION: Sideways/corrective movement
Wave Position: Current Elliott Wave position
- WAVE 3 (STRONG): Most powerful moves, best for trend following
- WAVE 1 OR 5: Beginning or ending waves
- WAVE 2 OR 4: Corrective phases, lower probability
- CORRECTIVE ABC: Wait for pattern completion
Signal Grade: Current signal status
- SIGNAL ACTIVE: You're currently in a trade
- PREMIUM/STANDARD/SPECULATIVE: New signal quality
- NO SIGNAL: No current opportunities
Trading Bias: Overall market direction
- LONG BIAS: Focus on buy opportunities
- SHORT BIAS: Focus on sell opportunities
- NEUTRAL: No clear directional bias
### 3. Reading Signal Labels
Each signal provides complete trade setup information:
```
STRONG BUY
━━━━━━━━━━━━━━━━━━━━
💰 Entry: 1875.50
🛡️ SL: 1860.25
🎯 TP: 1905.75
📈 R:R = 1:2.0
━━━━━━━━━━━━━━━━━━━━
```
Understanding the Information:
- Entry: Exact price level to enter the trade
- SL: Stop loss level (risk management)
- TP: Take profit level (profit target)
- R:R: Risk-to-reward ratio (1:2.0 means you risk 1 to make 2)
### 4. Entry/TP/SL Level Lines
Visual trade management aids:
- Blue Solid Line: Entry level
- Red Dashed Line: Stop loss level
- Green Dashed Line: Take profit level
- Small Labels: "ENTRY", "SL", "TP" markers
## Trading Strategy Guidelines
### Trend Following Strategy
1. Check Panel: Ensure trend aligns with your trade direction
2. Wait for Signals: Only trade in the direction of the primary trend
3. Quality First: Focus on STRONG signals during trending markets
4. Wave Timing: WAVE 3 positions offer the best trending opportunities
### Reversal Strategy
1. Look for Divergence: Panel shows trend change signals
2. Wait for Confirmation: Don't jump early on potential reversals
3. Use MEDIUM Signals: Often good for catching early trend changes
4. Watch Wave Position: CORRECTIVE ABC patterns may signal trend completion
### Risk Management Rules
Position Sizing:
- Risk no more than 1-2% of account per trade
- Use the provided R:R ratios to calculate position sizes
- Stronger signals can justify slightly larger positions
Stop Loss Management:
- Always use the provided stop loss levels
- Never move stops against your position
- Consider trailing stops once trade moves in your favor
Take Profit Strategy:
- Use provided TP levels as minimum targets
- Consider taking partial profits at TP level
- Let strong trends run beyond TP in trending markets
## Best Practices by Timeframe
### Scalping (M1-M5)
- Use "High Quality Only" filter
- Focus on STRONG signals only
- Quick entry and exit
- Expect more false signals due to market noise
### Intraday Trading (M15-H1)
- Use "High + Medium Quality" filter
- Good balance of opportunity and reliability
- Hold trades for several hours
- Most versatile timeframe for the indicator
### Swing Trading (H4-Daily)
- Use "All Signals" with proper analysis
- Hold trades for days to weeks
- Most reliable signals on higher timeframes
- Best for beginners due to less noise
## Panel Customization
Position Options:
- Top Right: Default, doesn't interfere with price action
- Top Left: Good for wide screens
- Bottom corners: Keeps important info visible while analyzing tops
- Middle positions: Central reference, good for multi-monitor setups
Size Options:
- Small: Minimal screen space, good for small screens
- Normal: Balanced visibility and space usage
- Large: Easy reading, good for detailed analysis
Transparency: Adjust 0-95% based on preference and chart background
## Common Mistakes to Avoid
### Signal Interpretation Errors
- Don't ignore the trend: Trading against primary trend reduces success
- Don't chase weak signals: Focus on quality over quantity
- Don't ignore wave position: WAVE 2/4 corrections are lower probability
### Risk Management Errors
- Don't skip stop losses: Every signal includes SL for a reason
- Don't risk too much: Even strong signals can fail
- Don't move stops against position: Stick to the plan
### Psychological Errors
- Don't overtrade: Wait for quality setups
- Don't second-guess strong signals: Trust the analysis
- Don't panic on normal drawdowns: Expect some losing trades
## Alert Configuration
Enable alerts for:
- Strong signals: Primary trading opportunities
- Medium signals: Secondary opportunities (optional)
- Signal active status: Know when you're in trades
Alert messages include complete trade information for easy execution.
## Performance Optimization
### For Best Results:
1. Combine with price action: Look for confluence with support/resistance
2. Consider market sessions: Different sessions have different characteristics
3. Monitor news events: Avoid trading during high-impact news
4. Keep a trading journal: Track which signals work best for your style
### Regular Review:
- Weekly analysis: Review which signal types performed best
- Timeframe assessment: Determine your most profitable timeframes
- Strategy refinement: Adjust filters based on performance data
## Troubleshooting
If you're not seeing signals:
- Check that "Show Buy/Sell Signals" is enabled
- Verify your signal filter isn't too restrictive
- Market may be in a consolidation phase
If labels are cluttered:
- Reduce "Maximum Labels to Show"
- Change label position to "Far from Candle"
- Use smaller label text size
If panel is in the way:
- Change panel position
- Increase transparency
- Reduce panel size
- Toggle panel off temporarily
Remember: This indicator provides analysis and signals, but successful trading also requires proper risk management, emotional discipline, and understanding of market conditions. Always practice with demo accounts before risking real capital, and never risk more than you can afford to lose.
Multipower Entry SecretMultipower Entry Secret indicator is designed to be the ultimate trading companion for traders of all skill levels—especially those who struggle with decision-making due to unclear or overwhelming signals. Unlike conventional trading systems cluttered with too many lines and confusing alerts, this indicator provides a clear, adaptive, and actionable guide for market entries and exits.
Key Points:
Clear Buy/Sell/Wait Signals:
The script dynamically analyzes price action, candle patterns, volume, trend strength, and higher time frame context. This means it gives you “Buy,” “Sell,” or “Wait” signals based on real, meaningful market information—filtering out the noise and weak trades.
Multi-Timeframe Adaptive Analysis:
It synchronizes signals between higher and current timeframes, ensuring you get the most reliable direction—reducing the risk of getting caught in fake moves or sudden reversals.
Automatic Support, Resistance & Liquidity Zones:
Key levels like support, resistance, and liquidity zones are auto-detected and displayed directly on the chart, helping you make precise decisions without manual drawing.
Real-Time Dashboard:
All relevant information, such as trend strength, market intent, volume sentiment, and the reason behind each signal, is neatly summarized in a dashboard—making monitoring effortless and intuitive.
Customizable & Beginner-Friendly:
Whether you’re a newcomer wanting straightforward guidance or a professional needing advanced customization, the indicator offers flexible options to adjust analysis depth, timeframes, sensitivity, and more.
Visual & Clutter-Free:
The design ensures that your chart remains clean and readable, showing only the most important information. This minimizes mental overload and allows for instant decision-making.
Who Will Benefit?
Beginners who want to learn trading logic, avoid common traps, and see the exact reason behind every signal.
Advanced traders who require adaptive multi-timeframe analytics, fast execution, and stress-free monitoring.
Anyone who wants to save screen time, reduce analysis paralysis, and have more confidence in every trade they take.
1. No Indicator Clutter
Intent:
Many traders get confused by charts filled with too many indicators and signals. This often leads to hesitation, missed trades, or taking random, risky trades.
In this Indicator:
You get a clean and clutter-free chart. Only the most important buy/sell/wait signals and relevant support/resistance/liquidity levels are shown. These update automatically, removing the “overload” and keeping your focus sharp, so your decision-making is faster and stress-free.
2. Exact Entry Guide
Intent:
Traders often struggle with entry timing, leading to FOMO (fear of missing out) or getting trapped in sudden market reversals.
In this Indicator:
The system uses powerful adaptive logic to filter out weak signals and only highlight the strongest market moves. This not only prevents you from entering late or on noise, but also helps avoid losses from false breakouts or whipsaws. You get actionable suggestions—when to enter, when to hold back—so your entries are high-conviction and disciplined.
3. HTF+LTF Logic: Multitimeframe Sync Analysis
Intent:
Most losing trades happen when you act only on the short-term chart, ignoring the bigger market trend.
In this Indicator:
Signals are based on both the current chart timeframe (LTF) and a higher (HTF, like hourly/daily) timeframe. The indicator synchronizes trend direction, momentum, and structure across both levels, quickly adapting to show you when both are aligned. This filtering results in “only trade with the bigger trend”—dramatically increasing your win rate and market confidence.
4. Auto Support/Resistance & Liquidity Zones
Intent:
Drawing support/resistance and liquidity zones manually is time-consuming and error-prone, especially for beginners.
In this Indicator:
The system automatically identifies and plots the most crucial support/resistance levels and liquidity zones on your chart. This is based on adaptive, real-time price and volume analysis. These zones highlight where major institutional activity, trap setups, or real breakouts/reversals are most likely, removing guesswork and giving you a clear reference for entries, exits, and stop placements.
5. Clear Action/Direction
Intent:
Traders need certainty—what does the market want right now? Most indicators are vague.
In this Indicator:
Your dashboard always displays in plain words (like “BUY”, “SELL”, or “WAIT”) what action makes sense in the current market phase. Whether it’s a bull trap, volume spike, wick reversal, or exhaustion—it’s interpreted and explained clearly. No more confusion—just direct, real-time advice.
6. For Everyone (Beginner to Pro)
Intent:
Most advanced indicators are overwhelming for new traders; simple ones lack depth for professionals.
In this Indicator:
It is simple enough for a beginner—just add it to the chart and instantly see what action to consider. At the same time, it includes advanced adaptive analysis, multi-timeframe logic, and customizable settings so professional traders can fine-tune it for their strategies.
7. Ideal Usage and User Benefits
Instant Decision Support:
Whenever you’re unsure about a trade, just look at the indicator’s suggestion for clarity.
Entry Learning:
Beginners get real-time “practice” by not only seeing signals, but also the reason behind them—improving your chart reading and market understanding.
Screen Time & Stress Reduction:
Clear, relevant information only; no noise, less fatigue, faster decisions.
Makes Trading Confident & Simple:
The smart dashboard splits actionable levels (HTF, LTF, action) so you never miss a move, avoid traps, and stay aligned with high-probability trades.
8. Advanced Input Settings (Smart Customization)
Explained with Examples:
Enable Wick Analysis:
Finds candles with strong upper/lower wicks (signs of rejection/buying/selling force), alerting you to hidden reversals and protecting from FOMO entries.
Enable Absorption:
Detects when heavy order flow from one side is “absorbed” by the other (shows where institutional buyers/sellers are likely active, helps spot fake breakouts).
Enable Unusual Breakout:
Highlights real breakouts—large volatility plus high volume—so you catch genuine moves and avoid random spikes.
Enable Range/Expansion:
Smartly flags sudden range expansions—when the market goes from quiet to volatile—so you can act at the start of real trends.
Trend Bar Lookback:
Adjusts how many bars/candles are used in trend calculations. Short (fast trades, more signals), long (more reliability, fewer whipsaws).
Bull/Bear Bars for Strong Trend Min:
Sets how many candles in a row must support a trend before calling it “strong”—prevents flipping signals, keeps you disciplined.
Volume MA Length:
Lets you adjust how many bars back volume is averaged—fine-tune for your asset and trading style for best volume signals.
Swing Lookback Bars:
Set how many bars to use for swing high/low detection—short (quick swing levels), long (stronger support/resistance).
HTF (Bias Window):
Decide which higher timeframe the indicator should use for big-picture market mood. Adjustable for any style (scalp, swing, position).
Adaptive Lookback (HTF):
Choose how much HTF history is used for detecting major extremes/zones. Quick adjust for more/less sensitivity.
Show Support/Resistance, Liquidity Zones, Trendlines:
Toggle them on/off instantly per your needs—keeps your chart relevant and tailored.
9. Live Dashboard Sections Explained
Intent HTF:
Shows if the bigger timeframe currently has a Bullish, Bearish, or Neutral (“Chop”) intent, based on strict volume/price body calculations. Instant clarity—no more guessing on trend bias.
HTF Bias:
Clear message about which side (buy/sell/sideways) controls the market on the higher timeframe, so you always trade with the “big money.”
Chart Action:
The central action for the current bar—Whether to Buy, Sell, or Wait—calculated from all indicator logic, not just one rule.
TrendScore Long/Short:
See how many candles in your chosen window were bullish or bearish, at a glance. Instantly gauge market momentum.
Reason (WHY):
Every time a signal appears, the “reason” cell tells you the primary logic (breakout, wick, strong trend, etc.) behind it. Full transparency and learning—never trade blindly.
Strong Trend:
Shows if the market is currently in a powerful trend or not—helping you avoid choppy, risky entries.
HTF Vol/Body:
Displays current higher timeframe volume and candle body %—helping spot when big players are active for higher probability trades.
Volume Sentiment:
A real-time analysis of market psychology (strong bullish/bearish, neutral)—making your decision-making much more confident.
10. Smart and User-Friendly Design
Multi-timeframe Adaptive:
All calculations can now be drawn from your choice of higher or current timeframe, ensuring signals are filtered by larger market context.
Flexible Table Position:
You can set the live dashboard/summary anywhere on the chart for best visibility.
Refined Zone Visualization:
Liquidity and order blocks are visually highlighted, auto-tuning for your settings and always cleaning up to stay clutter-free.
Multi-Lingual & Beginner Accessible:
With Hindi and simple English support, descriptions and settings are accessible for a wide audience—anyone can start using powerful trading logic with zero language barrier.
Efficient Labels & Clear Reasoning:
Signal labels and reasons are shown/removed dynamically so your chart stays informative, not messy.
Every detail of this indicator is designed to make trading both simpler and smarter—helping you avoid the common pitfalls, learn real price action, stay in sync with the market’s true mood, and act with discipline for higher consistency and confidence.
This indicator makes professional-grade market analysis accessible to everyone. It’s your trusted assistant for making smarter, faster, and more profitable trading decisions—providing not just signals, but also the “why” behind every action. With auto-adaptive logic, clear visuals, and strong focus on real trading needs, it lets you focus on capturing the moves that matter—every single time.
Climax Absorption Engine [AlgoPoint]Overview
Have you ever noticed that during a sharp, fast-moving trend, the single candle with the highest volume often appears right at the end, just before the price reverses? This is no coincidence. It's the footprint of a Climax Event.
This indicator is designed to detect these critical moments of maximum panic (capitulation) and maximum euphoria (FOMO). These are the moments when retail traders are driven by emotion, creating a massive pool of liquidity. The "Climax Absorption Engine" identifies when Smart Money is likely absorbing this liquidity to enter large positions against the crowd, right before a potential reversal.
It's a tool built not just on mathematical formulas, but on the principles of market psychology and smart money activity.
How It Works: The 3-Step Logic
The indicator uses a sequential, three-step process to identify high-probability reversal setups:
1. Momentum Move Detection: First, the engine identifies a period of strong, directional momentum. It looks for a series of consecutive, same-colored candles and confirms that the move is backed by a steeply sloped moving average. This ensures we are only looking for climactic events at the end of a significant, non-random move.
2. Climax Candle Identification: Within this momentum move, the indicator scans for a candle with abnormally high volume—a volume spike that is significantly larger than the recent average. This candle is marked on your chart with a diamond shape and is identified as the Climax Candle. This is the point of peak emotion and the primary area of interest. No signal is generated yet.
3. Absorption & Reversal Confirmation: A climax is a warning, not a signal. The final signal is only triggered after the market confirms the reversal.
- For a BUY Signal: After a bearish (red) Climax Candle, the indicator waits for a subsequent green candle to close decisively above the midpoint of the Climax Candle. This confirms that the panic selling has been absorbed by buyers.
- For a SELL Signal: After a bullish (green) Climax Candle, it waits for a subsequent red candle to close decisively below the midpoint. This confirms that the euphoric buying has evaporated.
How to Interpret & Use This Indicator
- The Diamond Shape: A diamond shape on your chart is an early warning. It signifies that a climax event has occurred and the underlying trend is exhausted. This is the time to pay close attention and prepare for a potential reversal.
- The BUY/SELL Labels: These are the final, actionable signals. They appear only after the reversal has been confirmed by price action.
- A BUY signal suggests that capitulation selling is over, and buyers have absorbed the pressure.
- A SELL signal suggests that FOMO buying is over, and sellers are now in control.
Key Settings
- Momentum Detection: Adjust the number of consecutive bars and the EMA slope required to define a valid momentum move.
- Climax Detection: Fine-tune the sensitivity of the volume spike detection using the Volume Multiplier. Higher values will find only the most extreme events.
- Confirmation Window: Define how many bars the indicator should wait for a reversal candle after a climax event before the setup is cancelled.
Chanlun ZSLX pen czsc Channel Chan Theory🏆 Chanzhongshuochan (CZSC) ZSLX Recursive Version Indicator - Flagship Edition
Background
A Decade of Craftsmanship, a Major Upgrade
This Chanzhongshuochan (Chan Theory) indicator has undergone nearly 10 years of meticulous refinement and continuous optimization. Since its initial design in 2015, it has been validated through real trading practice. Now, it makes its debut on TradingView with a brand-new upgrade, featuring more comprehensive functions and superior performance.
It truly implements all core theories from the original Chan Theory texts, including a complete system covering candlestick containment processing, fractal identification, pen-segment analysis, pivot zone theory, trading signal (buy/sell point) positioning, and divergence analysis. It serves as a professional and all-encompassing technical analysis tool for Chan Theory enthusiasts in the industry.
🎯 Chinese Translation for User Indicator Interface:
● 顶背离: Top Divergence
● 底背离: Bottom Divergence
● 顶背驰: Top Divergence Including Trend Structure
● 底背驰: Bottom Divergence Including Trend Structure
● 趋势: Trend
● 盘整: Consolidation
● 扩张: Expansion
● 大级别盘整: Higher-Timeframe Consolidation
● 一买: First Buy Signal
● 二买: Second Buy Signal
● 类二买:Quasi-Second Buy Signal
● 三买: Third Buy Signal
● 一卖: First Sell Signal
● 二卖: Second Sell Signal
● 类二卖:Quasi-Second Sell Signal
● 三卖: Third Sell Signal
📦 Parameter Settings
● Number of Candlesticks for Calculation: Up to 5,000 candlesticks. Even free TradingView users are limited to this data volume.
● Pen Detail Parameters: Adjustable options include "Old Pen", "New Pen", "Pen Based on Secondary High/Low", "Pen Based on Absolute High/Low", and "Strict Pen". Select via numerical options corresponding to each type.
● MA (Moving Average) and Bollinger Bands Display Parameters: Check the box to enable display; uncheck to hide (configure as needed).
● Pivot Zone Price & Pen-Segment Price Display: Check the box to enable display; uncheck to hide (configure as needed).
● MACD Parameters: Adjustable according to personal needs (set the periods for fast EMA, slow EMA, and signal line).
● MA Parameters: Default values can be manually adjusted.
● Pen Divergence, Segment Divergence, & Pen-Segment Divergence Display: Check the box to enable display; uncheck to hide (configure as needed).
● Pen-Segment Divergence Alert: Disabled by default. Enable by checking the box. To set up alerts:
a. Go to TradingView’s "Alerts" interface.
b. Under "Condition", select this indicator.
c. Choose "Any alert() function call".
d. Set the notification type, then create the alert to receive notifications.
🔥 Integration of Other Common Indicators & Rationale
● ✅ Moving Average (MA): Chan Theory inherently uses MA overlay for analysis. Adding MA here allows users to analyze price trends from multiple perspectives, making it an essential inclusion.
● ✅ Bollinger Bands: Combining Bollinger Bands (a price channel tool) with Chan Theory provides additional perspectives for trend analysis and improves accuracy, hence its integration.
● ✅ MACD: A 不可或缺 (indispensable) indicator for analyzing trend strength in Chan Theory. It is integrated to facilitate seamless analysis.
● ✅ Rationale for Integrating Shared Core Code between Two Scripts:
The scripts Chanlun ZSLX pen czsc Channel Chan Theory and Chanlun FBFD pen czsc Channel Chan Theory share some underlying code. Here’s why integration is necessary:
○ The core logics of the original Chan Theory — including candlestick containment processing, MACD divergence analysis, candlestick objects, and pen-related calculations — are identical in both scripts.
○ However, significant differences exist in the top-level logics for segment division, trend recursion, display effects, and functions.
○ Additionally, TradingView imposes limits on script code size, making it impossible to fully integrate the two versions’ line-drawing features into one.
○ Therefore, this indicator reuses shared code components, including:
■ The Start_kxian() function (returns candlestick objects),
■ The Start_bi() function (returns pen objects),
■ The showKxianzsfunc() function (draws candlestick-based pivot zones),
■ MACD divergence judgment code.
🎯 Technical Principles
🔥 1. Comprehensive Coverage of Original Chan Theory Functions
● ✅ Real-Time Candlestick Containment Processing – Intelligent Recognition of Containment Relationships
○ In uptrends: Select the higher high and higher low values (prioritize higher extremes).
○ In downtrends: Select the lower high and lower low values (prioritize lower extremes).
● ✅ Accurate Fractal Marking – Automatic Identification of Top/Bottom Fractals
○ When the "Old/New Pen" parameter is set to 2, the high/low points of each top/bottom fractal are plotted.
○ Top Fractal: Among three consecutive candlesticks, the middle candlestick has a higher high and a higher low than the adjacent two.
○ Bottom Fractal: Among three consecutive candlesticks, the middle candlestick has a lower low and a lower high than the adjacent two.
● ✅ Multi-Dimensional Pen-Segment Analysis – Complete System for Pens & Segments
○ Pens:
■ Old Pen: Strictly follows the traditional Chan Theory definition of "pen".
■ New Pen: Adheres to the more flexible "new pen" definition from the original Chan Theory.
■ Fractal Pen: Forms a pen directly from top/bottom fractals (responds to price changes; many peers misclassify this as a "sub-timeframe pen").
○ Segments: This version adopts a recursive logic. While some single pens are treated as segments (differing from pure segment division), most segment-drawing results align with standard methods — the core difference lies in the line-drawing logic.
● ✅ Multi-Level Pivot Zone Integration – Candlestick-, Pen-, & Segment-Based Pivot Zones
○ Candlestick Pivot Zone: The smallest-level pivot zone in Chan Theory.
○ Pen Pivot Zone: Follows the original Chan Theory for division — the zone’s high is the lowest high of overlapping pens; the zone’s low is the highest low of overlapping pens.
○ Segment Pivot Zone: Follows the original Chan Theory for division — the zone’s high is the lowest high of overlapping segments; the zone’s low is the highest low of overlapping segments.
● ✅ Intelligent Trading Signals – Accurate Positioning of Three Types of Buy/Sell Points
○ Type 1 Buy/Sell Signal
■ Principle: Based on Chan Theory’s "trend divergence" — momentum weakens when a trend structure forms.
■ Analysis Method: Identify bottom divergence (for buys) or top divergence (for sells) in the final pivot zone of a trend structure.
■ Application: For reference only. Comprehensive analysis requires combining momentum decay across multiple timeframes.
○ Type 2 Buy/Sell Signal
■ Principle: The first pullback low (for buys) or rebound high (for sells) after a Type 1 signal concludes.
■ Analysis Method: After a Type 1 structure forms, prices may occasionally break previous lows/highs.
■ Application: For reference only. Comprehensive analysis requires combining momentum decay across multiple timeframes.
○ Type 3 Buy/Sell Signal
■ Principle: A standard Type 3 buy signal occurs when prices break above the first pivot zone after a Type 1 buy, then pull back to test the zone. For ease of monitoring, all "breakout + pullback" patterns are marked as Type 3 signals here.
■ Identification Method: Beginners are advised to trade standard Type 3 structures (post-Type 1 signals), though such structures are relatively rare.
■ Application: For reference only. Comprehensive analysis requires combining momentum decay across multiple timeframes.
● ✅ Divergence Alert – Exclusive Divergence Algorithm
○ Principle: Uses MACD momentum statistics from the original Chan Theory to distinguish between "pen-structure divergence" and "segment-structure divergence". Specific values are labeled on the chart to differentiate MACD momentum for pens vs. segments. More complex statistical features will be added in future updates. For reference on the current timeframe only — multi-timeframe momentum analysis is still required.
● ✅ Trend Structure Recursion – Exclusive Trend Recursion Function
○ Principle: This is a "same-timeframe decomposition" version of trend types. Trends end as close to absolute highs/lows as possible. Some single pens may be treated as segments, resulting in more natural-looking trend structures.
⚙️ Indicator Features
🌟 1. Diverse Pen-Segment Algorithm Engines
● 🎨 Three Pen Algorithms: "Traditional Old Pen", "New Pen", "Top/Bottom Fractal Pen".
● 🔧 Extensive Parameter Adjustments: Fine-grained control over "secondary high/low pens", "fractal range judgment", etc.
● 📊 Dual Recursive Division: Recursion starting from pens + higher-timeframe recursion.
● 🎯 Customizable Parameters: Adapts to different Chan Theory interpretations and trading styles.
🌟 2. Multi-Level Intelligent Integration System
● 📈 Synchronized Calculation & Display: Linked analysis of pens, segments, and advanced recursive segments.
● 🏗️ Exclusive Recursion Algorithm: Accurate identification of advanced recursive segments.
● 🎪 Multi-Level Pivot Zone System: Full coverage of three pivot zone levels (candlestick, pen, segment).
● 📊 Holistic Market Analysis: Provides comprehensive insights into real-time market dynamics.
🎨 3. Professional Visual Customization
● 🌈 Custom Color Schemes: Perfectly matches personal chart styles.
● 💰 Price Label Display: Marks key prices for pens, segments, and pivot zones.
● 📐 Professional Auxiliary Tools: Practical features like MA and Bollinger Bands.
● 🎁 Included MACD: A supporting indicator for the sub-chart.
⏰ 4. Seamless Candlestick Replay Support
● 🔄 Historical Data Review: Fully compatible with TradingView’s replay function.
● 📚 Powerful Market Research Tool: Enhances the ability to analyze historical price trends.
● 🧠 Improved Decision-Making: Deepens market insights and judgment.
📦 Feature & Interface Showcase by Product Version
Advanced Recursive Version ⭐ Exclusive Algorithm
Suitable for: Advanced Chan Theory users seeking precise trend analysis.
Exclusive Features:
● 🚀 Rare Algorithm: A pure recursive version (most competitors only reach segment-level analysis, which is their limit).
● 🎯 Optimized High/Low Points: Trend endpoints are accurately positioned at absolute highs/lows.
● 🏆 Natural Trend Structures: More natural and rational distribution of high/low points.
● 💎 Complete Chan Theory Elements: Covers all core components of Chan Theory.
● ⚡ Rich Pen Details: Extremely detailed processing of pen structures.
User Feedback: The preferred version among many senior Chan Theory users, with excellent real-trading performance.
Screenshot:
---
🎊 Experience Now & Start Your Professional Chan Theory Analysis Journey!
Pre-Purchase Notes
Chanzhongshuochan (Chan Theory) is relatively complex. While this software strives to implement all functions from the original texts, minor imperfections or unaddressed details may exist — these will be gradually improved in future updates.
● Users with concerns are advised to test the indicator for a few days first. Purchase only if it meets your needs; otherwise, treat the test as a trial.
● Feedback on issues or bugs is welcome. The developer will update, modify, and optimize the indicator in their spare time.
Key Function Screenshots
1. Multi-Level Recursion
2. Candlestick Containment Processing
3. Area Statistics + Pivot Zone High/Low Price Display
4. Multi-Level Consolidation Divergence
5. Overlaid Practical Moving Averages
6. Fractal Pens
7. Candlestick-Based Pivot Zones
8. Dozens of Adjustable Parameters
9. Optional Alert Functions (More to be Added in Future Updates)
10. Trend Structure Markers
🏆 缠中说禅ZSLX 递归版指标 - 旗舰版
背景
十年匠心,重磅升级
这套缠中说禅指标历经近10年的精心打磨与持续优化,从2015年初版设计至今,已经过实战验证。现全新升级登陆TradingView,功能更加完善,性能更加卓越。
真正实现了缠论原文中的所有核心理论,包括K线包含、分型识别、笔段分析、中枢理论、买卖点定位、背离背驰等完整体系,为缠论爱好者提供业界专业、全面的技术分析工具。
📦参数设置
- 计算K线数量:最多计算5000根,免费tradingview用户也只能这么多数据
- 笔细节参数:新旧笔、次高低点笔、最高低点笔、严格笔 可以调整可按标的数字选
- 显示均线和布林线参数:根据需要设置打钩就是显示,取消打钩就是隐藏
- 显示中枢价格和笔段价格:根据需要设置打钩就是显示,取消打钩就是隐藏
- macd参数:可以根据自己需要调整参数 快 慢 信号线周期设置
- 均线参数:默认参数可以自己手动调整
- 显示笔背离、段背离、笔段背驰:根据需要设置打钩就是显示,取消打钩就是隐藏
- 笔段背离背驰报警:默认关闭可以设置打钩开启,然后在tradingview的警报界面,条件里选择指标,设置:任何alert()函数调用,再设置通知类型,然后创建报警就可以收到报警
🔥整合其他常用指标和原因:
✅均线:因为缠论里是有使用均线叠加分析,这种更方便用户从不同视角分析走势,所以必须增加
✅布林线:布林线通道,结合缠论,也可以更多的视角分析走势,提高准确度,所以也增加了
✅macd:这个是缠论分析理论里必不可少的分析走势力度的指标,所以也必须整合进来方便分析
✅Chanlun ZSLX pen czsc Channel Chan Theory这个脚本和Chanlun FBFD pen czsc Channel Chan Theory这个脚本有些底层的源码是一样的必须整合原因:
因为缠论原文底层的K线包含、macd背离背驰、K线对象和笔部分都是一样的,但是顶层的线段和走势递归两种划分原理和显示效果和功能是有很大区别,并且tradingview社区的源码量有限制,导致也无法两个版本划线完全整合成一个,所以,这个脚本里的Start_kxian函数返回的kxian对象、 Start_bi函数返回的bi 对象 、showKxianzsfunc画K线中枢部分的源码、macd背离背驰判断部分代码,会有一样的整合部分源码
🎯 技术原理
🔥 1. 全方位缠论原文功能覆盖
● ✅ 实时K线包含处理 - 智能识别包含关系
○ - 上涨K线中取高点高值、低点高值,高高取高
- 下跌K线中取高点低值、低点低值,低低取低
● ✅ 精准分型标记 - 顶底分型自动识别
○ - 通过新旧笔参数设置2,会画出每个顶底分型高低点
○ - 顶分型:三根k线中,中间K线高点高于两侧K线,低点也高于两侧
- 底分型:三根k线中,中间K线低点低于两侧K线,高点也低于两侧
● ✅ 多维笔段分析 - 笔、线段完整体系
○ - 老笔:传统缠论严格笔定义,符合原文
- 新笔:传统缠论新笔定义,符合原文宽松笔条件
- 分型笔:顶底分型就成笔,价格反应比较敏锐(同行很多人把本周期分型笔标成次级别)
○ - 线段:这个版本采用递归思路,有的地方一笔处理成段,大部分地方跟纯分段一样,但是划线原理不同
● ✅ 多级中枢联立 - K线中枢、笔中枢、线段中枢
○ - K线中枢:最小级别的缠论中枢
- 笔中枢:采用原文的笔中枢划分区间,高点取重叠部分的最低点,低点取重叠部分最高点
- 线段中枢:采用原文的线段中枢划分区间,高点取线段重叠部分的最低点,低点取线段重叠部分最高点
● ✅ 智能买卖点 - 三类买卖点精准定位
○ 1类买卖点
- 原理:基于缠论趋势背驰原理,形成趋势结构时候,力度减弱
- 分析方法:通过判断趋势结构中最后中枢形成底背驰
- 应用:只是参考,具体分析需要多周期力度衰减结合判断
2类买卖点
- 原理:基于1类买卖点结束后,第一个回调低点
- 分析方法:在形成一类结构后,有时候也会破低点
- 应用:只是参考,具体分析需要多周期力度衰减结合判断
3类买卖点
- 原理:标准的三买是在1买形成后,突破第一个中枢的第一个回踩,这边为了方便看盘,统一突破回踩就标三买
- 识别方法:新手建议选择一类买点后的标准三买结构操作,但是可能这种结构比较少
- 应用:只是参考,具体分析需要多周期力度衰减结合判断
● ✅ 背离背驰预警 - 独家背离背驰算法
○ - 原理:采用缠论原文的macd力度统计,区分笔结构的背离背驰和段结构的背离背驰,并且在图形上标上具体数值,区分笔和段的macd力度,后期这个还要继续升级更复杂的统计,仅做本周期的参考,具体也是要多周期力度分析
● ✅ 走势结构递归 - 独家走势递归功能
- 原理:走势类型版本,这个是同级别分解版本,走势尽量结束在最高最低点,有的地方可能一笔成段,· 走势更为自然
⚙️ 指标特点
🌟1. 多样化笔段算法引擎
○ 🎨 三大笔算法: "传统旧笔"、"新笔"、"顶底分型笔"
○ 🔧 海量参数调节: 次高低笔、分型区间判断等精细化控制
○ 📊 双重递归划分: 笔开始递归 + 大级别递归
○ 🎯 个性化参数调整: 满足不同缠友的理解需求与交易风格
🌟 2. 多级别智能联立系统
○ 📈 同步计算显示: 笔、线段、递归高级段联动分析
○ 🏗️ 独家递归算法: 高级递归段精准识别
○ 🎪 多级中枢体系: 三重中枢级别完整覆盖
○ 📊 全景市场分析: 提供全面的市场动态洞察
🎨 3. 专业视觉定制
○ 🌈 自定义配色方案 - 完美匹配个人图表风格
○ 💰 价格标识显示 - 笔、段、中枢关键价位标注
○ 📐 专业辅助工具 - 均线、布林线等实用功能
○ 🎁 附带MACD - 配套附图指标
⏰ 4. 完美K线回放支持
○ 🔄 历史数据回顾 - 完美支持TradingView回放功能
○ 📚 市场研究利器 - 提升历史走势分析能力
○ 🧠 决策能力增强 - 深化市场洞察与判断水平
📦 产品版本功能界面展示
高级递归版 ⭐ 独家算法
适合:高阶缠友,追求极致走势分析
独家特色:
● 🚀 全网罕见算法: 纯递归版本,其他家最多只能设计到分段级别就是极限了
● 🎯 优化高低点: 走势结束点精准定位最高最低点
● 🏆 自然走势结构: 高低点分布更加自然合理
● 💎 完整缠论元素: 涵盖所有缠论核心要素
● ⚡ 超丰富笔细节: 笔的处理细节极其丰富
🌟 客户反馈: 众多资深缠友首选版本,实战效果卓越
快照
---
🎊 立即体验,开启专业缠论分析之旅!
售前说明:缠中说禅理论,相对比较复杂,软件尽量实现原文的功能,但是也难免有些瑕疵地方,无法处理到位,这边后期会陆续完善,介意的客户可以先试用几天,觉得合适再买,不合适就当测试下,欢迎大家反馈问题和bug,掌柜有空会后期更新修改和优化
1.多级别递归
2.K线包含
3.面积统计+中枢高低点价格显示
4.多级别盘整背离背驰
5.叠加实用均线
6.分型笔
7。k线中枢
8.几十个可选参数调整
9,可选的一些报警功能,后期陆续完善,更丰富
10.走势结构标志
Kameniczki AI RSI Pro v2.0Kameniczki AI RSI Pro v2.0 is an advanced technical indicator based on RSI (Relative Strength Index) with artificial intelligence that provides comprehensive market analysis with emphasis on safety and signal reliability. The indicator combines traditional RSI calculations with modern AI technologies for detecting high-quality trading opportunities.
Key Features:
AI Signal Quality Assessment
- Automatic signal quality rating on 0-100% scale
- Strict filtering to prevent false signals
- Trend confirmation with "falling knife" protection
- Momentum filter for detecting strong trends
Multi-Timeframe Analysis
- RSI analysis across 5 timeframes (5M, 15M, 30M, 1H, 4H)
- Alignment score calculation for trend direction confirmation
- Configurable threshold for MTF alignment (50-90%)
Smart Money Detection
- Detection of smart money accumulation and distribution
- Volume vs. price analysis for institutional activity identification
- Smart money strength calculation (0-100%)
Anomaly Detection System
- Early warning system for market anomalies
- Monitoring of price, volume, and volatility anomalies
- 4 anomaly levels: NORMAL, MEDIUM, HIGH, CRITICAL
- Comprehensive anomaly scoring (0-100 points)
Volume-Weighted RSI
- Volume-weighted RSI calculations
- Adaptive RSI lengths based on volatility
- Three RSI variants: Fast (7), Medium (14), Slow (21)
RSI Divergence Detection
- Automatic bullish and bearish divergence detection
- 20-bar lookback period for accurate identification
- Integration with AI signal quality
Dashboard and Visualization
Information Dashboard
- **SIGNAL**: Main trading signal with percentage score
- **ANOMALY**: Market anomaly status with color coding
- **MTF**: Multi-timeframe alignment percentages
- **SMART MONEY**: Accumulation/distribution status
- **DIVERGENCE**: Current RSI divergences
Signal Types
- **STRONG BUY/SELL**: Highest quality with trend confirmation
- **BUY/SELL**: Normal signals with percentage score
- **NEUTRAL**: No clear direction
Visual Effects
- Glowing colors for high AI quality (90%+)
- Modern AI color schemes
- RSI momentum histogram
- Critical zones for extreme levels
Settings
RSI Core Settings
- Base RSI Length: 5-100 (default 14)
- Fast RSI Length: 3-21 (default 7)
- Slow RSI Length: 14-50 (default 21)
- RSI Source: Price source for calculations
AI Enhancement
- Enable AI Signal Quality: AI quality rating
- AI Quality Threshold: 30-95% (default 70%)
- Enable Smart Money Detection: Smart money detection
- Enable Volume Weighting: Volume weighting
Multi-Timeframe Analysis
- Enable MTF Analysis: Multi-timeframe analysis
- MTF Weight: 10-50% (default 30%)
- MTF Alignment Threshold: 50-90% (default 75%)
Visual Settings
- Enable Glowing Effects: Bright colors for high quality
- Line Width: 1-5 (default 2)
- Zone Transparency: 50-95% (default 80%)
- Dashboard Position: 6 positioning options
- Customizable signal colors
Alert Settings
- Enable Alerts: Main alerts
- Enable Divergence Alerts: Divergence alerts
- Enable Smart Money Alerts: Smart money alerts
Alert System
Main Alerts (AI Quality ≥ 85%)
- SUPER RSI STRONG BUY/SELL: Highest priority
- SUPER RSI BUY/SELL: Normal signals
- Price, RSI, trend, and stress level information
Specialized Alerts
- BULLISH/BEARISH DIVERGENCE: RSI divergences
- ANOMALY CRITICAL/HIGH: Market anomalies
- SMART MONEY ACCUMULATION/DISTRIBUTION: Smart money activity
- MTF ALIGNMENT: Multi-timeframe alignment
Technical Specifications
Calculation Methods
- Volume-weighted RSI with adaptive lengths
- ATR-based volatility analysis
- EMA trend confirmation (20, 50, 200)
- Stress level calculation (KAMENICZKI AI 1.5.5)
Safety Mechanisms
- Momentum filter against counter-trend trading
- Trend confirmation requirements
- Volume confirmation for extreme signals
- Falling knife protection
Performance Optimization
- Max bars back: 500
- Efficient global variables
- Optimized functions for speed
Usage
The indicator is designed for professional traders who need reliable and safe signals with emphasis on quality over quantity. It combines traditional technical analysis with modern AI technologies for maximum accuracy and risk minimization.
RSI-MACD-ADX + Dual SuperTrend ConfluenceKey Features:
Confluence Logic:
Buy signals only trigger when BOTH momentum AND SuperTrend are bullish
Sell signals only trigger when BOTH momentum AND SuperTrend are bearish
No conflicting signals - eliminates false entries when systems disagree
Signal Types:
STRONG BUY/SELL: Fresh momentum signal + Fresh SuperTrend alignment (maximum confidence)
Regular BUY/SELL: Momentum bullish + Both SuperTrends bullish (high confidence)
Customizable Settings:
RSI Momentum Zones: Bullish (>55), Bearish (<45), Neutral (45-55)
MACD Parameters: Fast (12), Slow (26), Signal (9)
ADX Trend Filter: Threshold (25) for trend strength
Dual SuperTrend: Two multipliers (2.0x and 3.0x) for confluence
Signal Strength: Choose between Weak/Medium/Strong momentum requirements
Visual Elements:
SuperTrend Lines: Both multipliers displayed with different colors
Background Highlighting: Green for bullish confluence, red for bearish
Signal Arrows: Large arrows for strong signals, smaller for regular
Comprehensive Table: Shows all component states and final confluence signal
Volume Profile + VAH, VAL, and POCWhat it is
A clean, on-chart volume profile that approximates your visible range using a configurable Bars Back window. It builds a horizontal histogram of volume by price, splits each price bin into Buy vs Sell volume, draws POC, and computes Value Area High/Low (VAH/VAL). A Stealth Mode toggle switches to a subtle grayscale palette for low-key charts.
Why this instead of the built-in VPVR?
Buy/Sell split per bin: See which prices were defended by buyers vs sellers, not just total volume.
Value Area from POC outward: Classic expansion method until the selected % of total volume (default 70%).
Sleek borders & Stealth Mode: Crisp bin outlines and a one-click professional colorway.
Deterministic & fast: No sessions or anchors needed—set your Bars Back and go.
How it works (under the hood)
Window selection – Pine can’t read your viewport, so we approximate it with Bars Back (user input).
Binning – The window’s price range is divided into N bins.
Volume allocation – For each bar in the window:
Distribute Across Hi–Lo (optional): Spread volume across all bins the bar overlaps, weighted by overlap; or
Single-price mode: Assign all volume to one bin using a representative price (hlc3).
Buy/Sell split (two methods):
Body Proportional (recommended): Split by relative up/down body size (|close−open|).
Up/Down Candle: 100% buy if close ≥ open, else 100% sell.
POC & VA: Point of Control is the bin with max total volume. VAH/VAL expands from POC toward the higher-volume neighbor until the selected % of total volume is included.
Reading the visuals
Horizontal bars (right side): Total volume per price bin.
Left sub-segment = Sell volume
Right sub-segment = Buy volume
POC line: Price level with peak total volume.
VAH / VAL (dashed): Upper and lower bounds of the selected Value Area.
Borders: Each bin has a clean outer outline so the profile looks tight and organized.
Stealth Mode: Grayscale palette that preserves contrast without loud colors.
Key inputs (organized for clarity)
Theme
Stealth Mode: Toggles the grayscale look.
Core
Price Bins: Vertical resolution of the profile.
Lookback (Bars): Approximates your visible range.
Style
Profile Width (bars): How far the histogram extends to the right.
Bin Border Width: Outline thickness.
Markers & Lines
Show POC, Show VAH/VAL, Value Area %, VA line width.
Advanced
Distribute Volume Across Hi–Lo: More accurate, heavier compute.
Buy/Sell Split Method: Body Proportional (realistic) or Up/Down (simple).
Tips & best practices
Start with Body Proportional + Distribute Across ON for intraday accuracy.
If the chart lags, reduce Price Bins or Bars Back, or switch off distribution.
For small windows, fewer bins often looks cleaner (e.g., 30–60).
Stealth Mode plays nicely with both dark and light chart themes.
Limitations & notes
Viewport: Pine can’t access the actual visible bars; Bars Back is a practical stand-in.
Buy/Sell split: This is an approximation from candle bodies, not true bid/ask delta.
Designed for overlay; profile renders to the right of the latest bar.
CVD Polarity Indicator (With Rolling Smoothed)📊 CVD Polarity Indicator (with Rolling Smoothing)
Purpose
The CVD Polarity Indicator combines Cumulative Volume Delta (CVD) with price bar direction to measure whether buying or selling pressure is in agreement with price action. It then smooths that signal over time, making it easier to see underlying volume-driven market trends.
This indicator is essentially a volume–price agreement oscillator:
- It compares price direction with volume delta (CVD).
- Translates that into per-bar polarity.
- Smooths it into a rolling sum for clarity.
- Adds a short EMA to highlight turning points.
The end result: a tool that helps you see when price action is backed by real volume flows versus when it’s running on weak participation.
__________________________________________________________________________________
1. Cumulative Volume Delta (CVD)
What it is:
CVD is the cumulative sum of buying vs. selling pressure measured by volume.
- If a bar closes higher than it opens → that bar’s volume is treated as buying pressure (+volume).
- If a bar closes lower than it opens → that bar’s volume is treated as selling pressure (–volume).
Rolling version:
Instead of accumulating indefinitely (which just creates a line that trends forever), this indicator uses a rolling sum over a user-defined number of bars (cumulation_length, default 14).
- This shows the net delta in recent bars, making the CVD more responsive and localized.
2. Bar Direction vs. CVD Change
Each bar has two pieces of directional information:
1. Bar direction: Whether the candle closed above or below its open (close - open).
2. CVD change: Whether cumulative delta increased or decreased from the prior bar (cvd - cvd ).
By comparing these two:
- Agreement (both up or both down):
→ Polarity = +volume (if bullish) or –volume (if bearish).
- Disagreement (bar up but CVD down, or bar down but CVD up):
→ Polarity flips sign, signaling divergence between price and volume.
Thus, raw polarity = a per-bar measure of whether price action and volume delta are in sync.
3. Polarity Smoothing (Rolling Polarity)
- Problem with raw polarity:
It flips bar-to-bar and looks very jagged — not great for seeing trends.
- Solution:
The indicator applies a rolling sum over the past polarity_length bars (default 14).
- This creates a smoother curve, representing the net polarity over time.
- Positive values = net bullish alignment (buyers stronger).
- Negative values = net bearish alignment (sellers stronger).
Think of it like an oscillator showing whether buyers or sellers have had control recently.
4. EMA Smoothing
Finally, a 10-period EMA is applied on top of the rolling polarity line:
- This further reduces noise.
- It helps highlight shifts in the underlying polarity trend.
- Crossovers of the polarity line and its EMA can serve as trade signals (bullish/bearish inflection points).
________________________________________________________________________________
How to Read It
1. Polarity above zero → Recent bars show more bullish agreement between price and volume.
2. Polarity below zero → Recent bars show more bearish agreement.
3. Polarity diverging from price → If price goes up but polarity trends down, it signals weakening buying pressure (potential reversal).
4. EMA crossovers →
- Polarity crossing above its EMA = bullish momentum shift.
- Polarity crossing below its EMA = bearish momentum shift.
Practical Use Cases
- Trend Confirmation
Use polarity to confirm whether a price move is supported by volume. If price rallies but
polarity stays negative, the move is weak.
- Divergence Signals
Watch for divergences between price trend and polarity trend (e.g., higher highs in price but
lower highs in polarity).
- Momentum Shifts
Use EMA crossovers as signals that the underlying balance of buying/selling has flipped.
CandelaCharts - Dip Index 📝 Overview
The Dip Index (DIPX) is a market breadth oscillator designed to identify market dips by measuring the percentage of assets within a chosen index or asset class that are trading above a specified moving average (such as the 50, 100, 150, or 200-period).
By highlighting when fewer assets remain above their averages, DIPX helps traders detect potential dip opportunities and assess overall market strength or weakness.
While commonly applied to equities, the indicator is adaptable to various financial instruments, including exchange-traded funds (ETFs), commodities, cryptocurrencies, and even fixed-income securities.
Assess the overall health of a market by measuring internal participation in price moves.
Detect overbought or oversold conditions when momentum becomes concentrated or overly extended.
Generate actionable signals when the index exits extreme levels, suggesting renewed momentum or potential exhaustion.
📦 Features
Multiple Indices: Supports SP500, Nasdaq, DJI, Russel2000, and sector-specific S&P indices.
Dynamic MA Selection: Choose from SMA, EMA, RMA, WMA, VWMA with configurable lengths.
Visual Customization: Full control over colors, line styles, text size, and branding.
Signal Markers: Triangle markers appear when exiting overbought/oversold zones.
Gradient & Background Fill: Visual highlighting of extreme market conditions.
Overlay Mode Option: Can display OB/OS background as chart overlay.
⚙️ Settings
Market: Chooses the index or asset class to measure.
MA: Enables moving average filter; options include type (SMA, EMA, etc.) and period length.
Oversold: Defines the lower threshold (default: 20) with customizable color.
Overbought: Defines the upper threshold (default: 80) with customizable color.
DIPX Line: Sets the thickness and color of the Dip Index line.
Mode: Selects display type (Line, Cross, Circle, Stepline, etc.).
Signals: Toggles buy/sell signal markers with customizable colors.
OB/OS Zones: Enables highlighting of Overbought/Oversold zones.
OB/OS Overlay: Toggles overlay shading for Overbought/Oversold zones.
⚡️ Showcase
Overbought/Oversold
Modes
Overbought/Oversold Zones
Signals
Overlay
📒 Usage
How to use DIPX effectively in trading and analysis, including interpretation, signal usage, strategic applications, and best practices.
DIPX outputs values from 0% to 100%, reflecting how widely participation extends across the underlying assets in an index or basket.
1. Assessing Market Health
Use DIPX to evaluate whether price moves are supported by broad participation:
In a bull trend, confirm strength by checking if DIPX stays above 50%.
In a bear trend, watch for rebounds in DIPX to spot temporary relief rallies.
2. Detecting Divergences
Divergence occurs when the price trend and DIPX trend disagree — often a precursor to reversal.
Bearish Divergence: Price makes higher highs; DIPX makes lower highs -> Momentum weakening - potential top
Bullish Divergence: Price makes lower lows; DIPX makes higher lows -> Selling pressure fading - potential bottom
How to Spot It:
Overlay DIPX on the same chart as the index price.
Use trendlines or horizontal markers to compare swing points.
Focus on weekly or daily timeframes for reliability.
3. Signal-Based Entries/Exits
When enabled (Signals = true) , DIPX generates triangle markers when exiting extreme zones:
Bullish Triangle (▲): DIPX crosses above Oversold Value (e.g., 20%, 30%) -> Green upward triangle
Bearish Triangle (▼): DIPX crosses below Overbought Value (e.g., 80%, 70%) -> Red downward triangle
4. Timeframe Guidance
1m – 4h: ❌ Not Recommended - DIPX uses daily-aggregated data;
Daily (D): ✅ Strongly Recommended - Matches data frequency; clearest signals
Weekly (W): ✅ Acceptable - Ideal for macro analysis and long-term positioning
Monthly (M): ⚠️ Limited Use - Too slow for active trading; useful for big-picture context
By integrating DIPX into your analysis, you gain a powerful lens into market internals — helping you distinguish between broad-based strength and narrow leadership, regardless of asset class.
🚨 Alerts
The indicator does not provide any alerts!
⚠️ Disclaimer
These tools are exclusively available on the TradingView platform.
Our charting tools are intended solely for informational and educational purposes and should not be regarded as financial, investment, or trading advice. They are not designed to predict market movements or offer specific recommendations. Users should be aware that past performance is not indicative of future results and should not rely on these tools for financial decisions. By using these charting tools, the purchaser agrees that the seller and creator hold no responsibility for any decisions made based on information provided by the tools. The purchaser assumes full responsibility and liability for any actions taken and their consequences, including potential financial losses or investment outcomes that may result from the use of these products.
By purchasing, the customer acknowledges and accepts that neither the seller nor the creator is liable for any undesired outcomes stemming from the development, sale, or use of these products. Additionally, the purchaser agrees to indemnify the seller from any liability. If invited through the Friends and Family Program, the purchaser understands that any provided discount code applies only to the initial purchase of Candela's subscription. The purchaser is responsible for canceling or requesting cancellation of their subscription if they choose not to continue at the full retail price. In the event the purchaser no longer wishes to use the products, they must unsubscribe from the membership service, if applicable.
We do not offer reimbursements, refunds, or chargebacks. Once these Terms are accepted at the time of purchase, no reimbursements, refunds, or chargebacks will be issued under any circumstances.
By continuing to use these charting tools, the user confirms their understanding and acceptance of these Terms as outlined in this disclaimer.
Wickless Tap Signals Wickless Tap Signals — TradingView Indicator (v6)
A precision signal-only tool that marks BUY/SELL events when price “retests” the base of a very strong impulse candle (no wick on the retest side) in the direction of trend.
What it does (in plain English)
Finds powerful impulse candles:
Bull case: a green candle with no lower wick (its open ≈ low).
Bear case: a red candle with no upper wick (its open ≈ high).
Confirms trend with an EMA filter:
Only looks for bullish bases while price is above the EMA.
Only looks for bearish bases while price is below the EMA.
Waits for the retest (“tap”):
Later, if price revisits the base of that wickless candle
Bullish: taps the candle’s low/open → BUY signal
Bearish: taps the candle’s high/open → SELL signal
Optional level “consumption” so each base can trigger one signal, not many.
The idea: a wickless impulse often marks strong initiative order flow. The first retest of that base frequently acts as a springboard (bull) or ceiling (bear).
Exact rules (formal)
Let tick = syminfo.mintick, tol = tapTicks * tick.
Trend filter
inUp = close > EMA(lenEMA)
inDn = close < EMA(lenEMA)
Wickless impulse candles (confirmed on bar close)
Bullish wickless: close > open and abs(low - open) ≤ tol
Bearish wickless: close < open and abs(high - open) ≤ tol
When such a candle closes with trend alignment:
Store bullTapLevel = low (for bull case) and its bar index.
Store bearTapLevel = high (for bear case) and its bar index.
Signals (must happen on a later bar than the origin)
BUY: low ≤ bullTapLevel + tol and inUp and bar_index > bullBarIdx
SELL: high ≥ bearTapLevel - tol and inDn and bar_index > bearBarIdx
One-shot option
If enabled, once a signal fires, the stored level is cleared so it won’t trigger again.
Inputs (Settings)
Trend EMA Length (lenEMA): Default 200.
Use 50–100 for intraday, 200 for swing/position.
Tap Tolerance (ticks) (tapTicks): Default 1.
Helps account for tiny feed discrepancies. Set 0 for strict equality.
One Signal per Level (oneShot): Default ON.
If OFF, multiple taps can create multiple signals.
Plot Tap Levels (plotLevels): Draws horizontal lines at active bases.
Show Pattern Labels (showLabels): Marks the origin wickless candles.
Plots & Visuals
EMA trend line for context.
Tap Levels:
Green line at bullish base (origin candle’s low/open).
Red line at bearish base (origin candle’s high/open).
Signals:
BUY: triangle-up below the bar on the tap.
SELL: triangle-down above the bar on the tap.
Labels (optional):
Marks the original wickless impulse candle that created each level.
Alerts
Two alert conditions are built in:
“BUY Signal” — fires when a bullish tap occurs.
“SELL Signal” — fires when a bearish tap occurs.
How to set:
Add the indicator to your chart.
Click Alerts (⏰) → Condition = this indicator.
Choose BUY Signal or SELL Signal.
Set your alert frequency and delivery method.
Recommended usage
Timeframes: Works on any; start with 5–15m intraday, or 1H–1D for swing.
Markets: Equities, futures, FX, crypto. For thin/illiquid assets, consider a slightly larger Tap Tolerance.
Confluence ideas (optional, but helpful):
Higher-timeframe trend agreeing with your chart timeframe.
Volume surge on the origin wickless candle.
S/R, order blocks, or SMC structures near the tap level.
Avoid major news moments when slippage is high.
No-repaint behavior
Origin patterns are detected only on bar close (barstate.isconfirmed), so bases are created with confirmed data.
Signals come after the origin bar, on subsequent taps.
There is no lookahead; lines and shapes reflect information known at the time.
(As with all real-time indicators, an intrabar tap can trigger an alert during the live bar; the signal then remains if that condition held at bar close.)
Known limitations & design choices
Single active level per side: The script tracks only the most recent bullish base and most recent bearish base.
Want a queue of multiple simultaneous bases? That’s possible with arrays; ask and we’ll extend it.
Heikin Ashi / non-standard candles: Wick definitions change; for consistent behavior use regular OHLC candles.
Gaps: On large gaps, taps can occur instantly at the open. Consider one-shot ON to avoid rapid repeats.
This is an indicator, not a strategy: It does not place trades or compute PnL. For backtesting, we can convert it into a strategy with SL/TP logic (ATR or structure-based).
Practical tips
Tap Tolerance:
If you miss obvious taps by a hair, increase to 1–2 ticks.
For FX/crypto with tiny ticks, even 0 or 1 is often enough.
EMA length:
Shorten for faster signals; lengthen for cleaner trend selection.
Risk management (manual suggestion):
For BUY signals, consider a stop slightly below the tap level (or ATR-based).
For SELL signals, consider a stop slightly above the tap level.
Scale out or trail using structure or ATR.
Quick checklist
✅ Price above EMA → watch for a green no-lower-wick candle → store its low → BUY on tap.
✅ Price below EMA → watch for a red no-upper-wick candle → store its high → SELL on tap.
✅ Use Tap Tolerance to avoid missing precise touches by one tick.
✅ Consider One Signal per Level to keep trades uncluttered.
FAQ
Q: Why did I not get a signal even though price touched the level?
A: Check Tap Tolerance (maybe too strict), trend alignment at the tap bar, and that the tap happened after the origin candle. Also confirm you’re on regular candles.
Q: Can I see multiple bases at once?
A: This version tracks the latest bull and bear bases. We can extend to arrays to keep N recent bases per side.
Q: Will it repaint?
A: No. Bases form on confirmed closes, and signals only on later bars.
Q: Can I backtest it?
A: This is a study. Ask for the strategy variant and we’ll add entries, exits, SL/TP, and stats.
ATAI Triangles — Volume-Based & Price Pattern Analysis (v1.01)ATAI Triangles — Volume-Based & Price Pattern Analysis (v1.01)
Overview
ATAI Triangles identifies two synchronized triangle structures — Hi-Lo-Hi (HLH) and Lo-Hi-Lo (LHL) — and analyzes them both geometrically and volumetrically. For each triangle, volume is split between its two legs (segments), providing interpretable insights into buyer vs seller activity along each path.
The idea is that certain geometric shapes, when paired with volume distribution on each leg, can reveal patterns worth exploring. Users are encouraged to share their observations and interpretations in the TradingView comments section so that more aspects of these triangle combinations can be discovered collectively.
Extra (for fun)
For a bit of entertainment, we’ve included a symbolic “hexagram” glyph that appears when both triangle types align in a particular way — it’s just a visual nod to geometry and has no predictive or trading value.
Interface & data clarity
- Inputs and parameters are organized by function (pattern geometry, volume analysis, visuals, HUD, labels).
- Each input includes tooltips explaining its purpose, units, and possible effects on calculations.
- All on-chart objects (polylines, labels, connectors) are named and colored to reflect their role, with volume values formatted in engineering notation (K, M, B).
- HUD columns and label texts use concise terms and consistent units, so that every displayed value is directly traceable to a calculation in the code.
- Daily and lower-timeframe volume series are clearly separated, with update logic documented to indicate intrabar provisional values vs finalized bar-close values.
Usage notes
Designed to be used alongside other indicators and chart tools for context; it is not a standalone signal generator.
All Buy/Sell volumes are absolute (non-negative); Δ = Buy − Sell.
Intrabar values update live and finalize at bar close (no repaint after close).
Disclaimer
For research, discussion, and educational purposes only. This is not financial advice and does not guarantee any outcome. Trade at your own risk.
Price Tracker/galgoomThis indicator is designed for Renko chart traders who want to combine price action relative to a key line (qLine) with Moneyball buy/sell signals as a confirmation. It helps filter trades so you only get signals when both conditions align within a chosen time window.
How It Works
First Event – Price Trigger
Detects when the Renko close crosses above/below your selected qLine plot from the qPro indicator.
You can choose between:
Cross – only triggers on an actual crossover/crossunder.
State (Close) – triggers whenever price closes above/below qLine.
Second Event – Moneyball Confirmation
Waits for Moneyball’s Buy Signal (for long) or Bear/Sell Signal (for short) plot to fire.
You select the exact Moneyball plot from the source menu.
You can specify how the Moneyball signal is interpreted (== 1, >= 1, or any nonzero value).
Sequential Logic
The Moneyball signal must occur within N Renko bricks after the price event.
The final buy/sell signal is printed on the Moneyball bar.
Key Features
Works natively on Renko charts.
Adjustable confirmation window (0–5 bricks).
Flexible detection for both qLine and Moneyball signals.
Customizable label sizes, arrow display, and alerts.
Alerts fire for both buy and sell conditions:
BUY: qLine ➜ Moneyball Buy
SELL: qLine ➜ Moneyball Sell
Inputs
qLine Source – Pick the qPro qLine plot.
Price Event Type – Cross or State.
Moneyball Buy/Sell Signal Plots – Select the correct plots from your Moneyball indicator.
Confirmation Window – Bars allowed between events.
Visual Settings – Label size, arrow visibility, etc.
Use Case
Ideal for traders who:
Want a double-confirmation entry system.
Use Renko charts for cleaner trend detection.
Already have qPro and Moneyball loaded, but want an automated, rule-based confluence check.
38 minutes ago
Release Notes
This indicator is designed for Renko chart traders who want to combine price action relative to a key line (qLine) with Moneyball buy/sell signals as a confirmation. It helps filter trades so you only get signals when both conditions align within a chosen time window.
How It Works
First Event – Price Trigger
Detects when the Renko close crosses above/below your selected qLine plot from the qPro indicator.
You can choose between:
Cross – only triggers on an actual crossover/crossunder.
State (Close) – triggers whenever price closes above/below qLine.
Second Event – Moneyball Confirmation
Waits for Moneyball’s Buy Signal (for long) or Bear/Sell Signal (for short) plot to fire.
You select the exact Moneyball plot from the source menu.
You can specify how the Moneyball signal is interpreted (== 1, >= 1, or any nonzero value).
Sequential Logic
The Moneyball signal must occur within N Renko bricks after the price event.
The final buy/sell signal is printed on the Moneyball bar.
Key Features
Works natively on Renko charts.
Adjustable confirmation window (0–5 bricks).
Flexible detection for both qLine and Moneyball signals.
Customizable label sizes, arrow display, and alerts.
Alerts fire for both buy and sell conditions:
BUY: qLine ➜ Moneyball Buy
SELL: qLine ➜ Moneyball Sell
Inputs
qLine Source – Pick the qPro qLine plot.
Price Event Type – Cross or State.
Moneyball Buy/Sell Signal Plots – Select the correct plots from your Moneyball indicator.
Confirmation Window – Bars allowed between events.
Visual Settings – Label size, arrow visibility, etc.
Use Case
Ideal for traders who:
Want a double-confirmation entry system.
Use Renko charts for cleaner trend detection.
Already have qPro and Moneyball loaded, but want an automated, rule-based confluence check.
OctaScalp Precision Pro [By TraderMan]What is OctaScalp Precision Pro ? 🚀
OctaScalp Precision is a powerful scalping indicator designed for fast, short-term trades. It combines eight technical indicators to generate 💪 high-accuracy buy 📗 and sell 📕 signals. Optimized for scalpers, this tool targets small price movements in low timeframes (1M, 5M). With visual lines 📈, labels 🎯, and Telegram alerts 📬, it simplifies quick decision-making, enhances risk management, and tracks trade performance.
What Does It Do? 🎯
Fast Signals: Produces reliable buy/sell signals using a consensus of eight indicators.
Risk Management: Offers automated Take Profit (TP) 🟢 and Stop Loss (SL) 🔴 levels with a 2:1 reward/risk ratio.
Trend Confirmation: Validates short-term trends with a 30-period EMA zone.
Performance Tracking: Records trade success rates (%) and the last 5 trades 📊.
User-Friendly: Displays market strength, signal type, and trade details in a top-right table.
Alerts: Sends Telegram-compatible notifications for new positions and trade results 📲.
How Does It Work? 🛠️
OctaScalp Precision integrates eight technical indicators (RSI, MACD, Stochastic, Momentum, 200-period EMA, Supertrend, CCI, OBV) for robust analysis. Each indicator contributes 0 or 1 point to a bullish 📈 or bearish 📉 score (max 8 points). Signals are generated as follows:
Buy Signal 📗: Bullish score ≥6 and higher than bearish score.
Sell Signal 📕: Bearish score ≥6 and higher than bullish score.
EMA Zone 📏: A zone (default 0.1%) around a 30-period EMA confirms trends. Price staying above or below the zone for 4 bars validates the direction:
Up Direction: Price above zone, color green 🟢.
Down Direction: Price below zone, color red 🔴.
Neutral: Price within zone, color gray ⚪.
Entry/Exit: Entries are triggered on new signals, with TP (2% profit) and SL (1% risk) auto-calculated.
Table & Alerts: Displays market strength (% bull/bear), signal type, entry/TP/SL, and success rate in a table. Telegram alerts provide instant notifications.
How to Use It? 📚
Setup 🖥️:
Add the indicator to TradingView and use default settings or customize (EMA length, zone width, etc.).
Best for low timeframes (1M, 5M).
Signal Monitoring 🔍:
Check the table: Bull Strength 📗 and Bear Strength 📕 percentages indicate signal reliability.
Confirm Buy (📗 BUY) or Sell (📕 SELL) signals when trendSignal is 1 or -1.
Entering a Position 🎯:
Buy: trendSignal = 1, bullish score ≥6, and higher than bearish score, enter at the entry price.
Sell: trendSignal = -1, bearish score ≥6, and higher than bullish score, enter at the entry price.
TP and SL: Follow the green (TP) 🟢 and red (SL) 🔴 lines on the chart.
Exiting 🏁:
If price hits TP, trade is marked ✅ successful; if SL, marked ❌ failed.
Results are shown in the “Last 5 Trades” 📜 section of the table.
Setting Alerts 📬:
Enable alerts in TradingView. Receive Telegram notifications for new positions and trade outcomes.
Position Entry Strategy 💡
Entry Conditions:
For Buy: Bullish score ≥6, trendSignal = 1, price above EMA zone 🟢.
For Sell: Bearish score ≥6, trendSignal = -1, price below EMA zone 🔴.
Check bull/bear strength in the table (70%+ is ideal for strong signals).
Additional Confirmation:
Use on high-volume assets (e.g., BTC/USD, EUR/USD).
Validate signals with support/resistance levels.
Be cautious in ranging markets; false signals may increase.
Risk Management:
Stick to the 2:1 reward/risk ratio (TP 2%, SL 1%).
Limit position size to 1-2% of your account.
Tips and Recommendations 🌟
Best Markets: Ideal for volatile markets (crypto, forex) and low timeframes (1M, 5M).
Settings: Adjust EMA length (default 30) or zone width (0.1%) based on the market.
Backtesting: Test on historical data to evaluate success rate 📊.
Discipline: Follow signals strictly and avoid emotional decisions.
OctaScalp Precision makes scalping fast, precise, and reliable! 🚀
Volume Based Analysis V 1.00
Volume Based Analysis V1.00 – Multi-Scenario Buyer/Seller Power & Volume Pressure Indicator
Description:
1. Overview
The Volume Based Analysis V1.00 indicator is a comprehensive tool for analyzing market dynamics using Buyer Power, Seller Power, and Volume Pressure scenarios. It detects 12 configurable scenarios combining volume-based calculations with price action to highlight potential bullish or bearish conditions.
When used in conjunction with other technical tools such as Ichimoku, Bollinger Bands, and trendline analysis, traders can gain a deeper and more reliable understanding of the market context surrounding each signal.
2. Key Features
12 Configurable Scenarios covering Buyer/Seller Power convergence, divergence, and dominance
Advanced Volume Pressure Analysis detecting when both buy/sell volumes exceed averages
Global Lookback System ensuring consistency across all calculations
Dominance Peak Module for identifying strongest buyer/seller dominance at structural pivots
Real-time Signal Statistics Table showing bullish/bearish counts and volume metrics
Fully customizable inputs (SMA lengths, multipliers, timeframes)
Visual chart markers (S01 to S12) for clear on-chart identification
3. Usage Guide
Enable/Disable Scenarios: Choose which signals to display based on your trading strategy
Fine-tune Parameters: Adjust SMA lengths, multipliers, and lookback periods to fit your market and timeframe
Timeframe Control: Use custom lower timeframes for refined up/down volume calculations
Combine with Other Indicators:
Ichimoku: Confirm volume-based bullish signals with cloud breakouts or trend confirmation
Bollinger Bands: Validate divergence/convergence signals with overbought/oversold zones
Trendlines: Spot high-probability signals at breakout or retest points
Signal Tables & Peaks: Read buy/sell volume dominance at a glance, and activate the Dominance Peak Module to highlight key turning points.
4. Example Scenarios & Suggested Images
Image #1 – S01 Bullish Convergence Above Zero
S01 activated, Buyer Power > 0, both buyer power slope & price slope positive, above-average buy volume. Show S01 ↑ marker below bar.
Image #2 – Combined with Ichimoku
Display a bullish scenario where price breaks above Ichimoku cloud while S01 or S09 bullish signal is active. Highlight both the volume-based marker and Ichimoku cloud breakout.
Image #3 – Combined with Bollinger Bands & Trendlines
Show a bearish S10 signal at the upper Bollinger Band near a descending trendline resistance. Highlight the confluence of the volume pressure signal with the band touch and trendline rejection.
Image #4 – Dominance Peak Module
Pivot low with green ▲ Bull Peak and pivot high with red ▼ Bear Peak, showing strong dominance counts.
Image #5 – Statistics Table in Action
Bottom-left table showing buy/sell volume, averages, and bullish/bearish counts during an active market phase.
5. Feedback & Collaboration
Your feedback and suggestions are welcome — they help improve and refine this system. If you discover interesting use cases or have ideas for new features, please share them in the script’s comments section on TradingView.
6. Disclaimer
This script is for educational purposes only. It is not financial advice. Past performance does not guarantee future results. Always do your own analysis before making trading decisions.
Tip: Use this tool alongside trend confirmation indicators for the most robust signal interpretation.
AI's Opinion Trading System V21. Complete Summary of the Indicator Script
AI’s Opinion Trading System V2 is an advanced, multi-factor trading tool designed for the TradingView platform. It combines several technical indicators (moving averages, RSI, MACD, ADX, ATR, and volume analysis) to generate buy, sell, and hold signals. The script features a customizable AI “consensus” engine that weighs multiple indicator signals, applies user-defined filters, and outputs actionable trade instructions with clear stop loss and take profit levels. The indicator also tracks sentiment, volume delta, and allows for advanced features like pyramiding (adding to positions), custom stop loss/take profit prices, and flexible signal confirmation logic. All key data and signals are displayed in a dynamic, color-coded table on the chart for easy review.
2. Full Explanation of the Table
The table is a real-time dashboard summarizing the indicator’s logic and recommendations for the most recent bars. It is color-coded for clarity and designed to help traders quickly understand market conditions and AI-driven trade signals.
Columns (from left to right):
Column Name What it Shows
Bar The time context: “Now” for the current bar, then “Bar -1”, “Bar -2”, etc. for previous bars.
Raw Consensus The raw AI consensus for each bar: “Buy”, “Sell”, or “-” (neutral).
Up Vol The amount of volume on up (rising) bars.
Down Vol The amount of volume on down (falling) bars.
Delta The difference between up and down volume. Green if positive, red if negative, gray if neutral.
Close The closing price for each bar, color-coded by price change.
Sentiment Diff The difference between the close and average sentiment price (a custom sentiment calculation).
Lookback The number of bars used for sentiment calculation (if enabled).
ADX The ADX value (trend strength).
ATR The ATR value (volatility measure).
Vol>Avg “Yes” (green) if volume is above average, “No” (red) otherwise.
Confirm Whether the AI signal is confirmed over the required bars.
Logic Output The AI’s interpreted signal after applying user-selected logic: “Buy”, “Sell”, or “-”.
Final Action The final signal after all filters: “Buy”, “Sell”, or “-”.
Trade Instruction A plain-English instruction: Buy/Sell/Add/Hold/No Action, with price, stop loss, and take profit.
Color Coding:
Green: Positive/bullish values or signals
Red: Negative/bearish values or signals
Gray: Neutral or inactive
Blue background: For all table cells, for visual clarity
White text: Default, except for color-coded cells
3. Full User Instructions for Every Input/Style Option
Below are plain-language instructions for every user-adjustable option in the indicator’s input and style pages:
Inputs
Table Location
What it does: Sets where the summary table appears on your chart.
How to use: Choose from 9 positions (Top Left, Top Center, Top Right, etc.) to avoid overlapping with other chart elements.
Decimal Places
What it does: Controls how many decimal places prices and values are displayed with.
How to use: Increase for assets with very small prices (e.g., SHIB), decrease for stocks or forex.
Show Sentiment Lookback?
What it does: Shows or hides the “Lookback” column in the table, which displays how many bars are used in the sentiment calculation.
How to use: Turn off if you want a simpler table.
AI View Mode
What it does: Selects the logic for how the AI combines signals from different indicators.
Majority: Follows the most common signal among all indicators.
Weighted: Uses custom weights for each type of signal.
Custom: Lets you define your own logic (see below).
How to use: Pick the logic style that matches your trading philosophy.
AI Consensus Weight / Vol Delta Weight / Sentiment Weight
What they do: When using “Weighted” AI View Mode, these let you set how much influence each factor (indicator consensus, volume delta, sentiment) has on the final signal.
How to use: Increase a weight to make that factor more important in the AI’s decision.
Custom AI View Logic
What it does: Lets advanced users write their own logic for when the AI should signal a trade (e.g., “ai==1 and delta>0 and sentiment>0”).
How to use: Only use if you understand basic boolean logic.
Use Custom Stop Loss/Take Profit Prices?
What it does: If enabled, you can enter your own fixed stop loss and take profit prices for buys and sells.
How to use: Turn on to override the auto-calculated SL/TP and enter your desired prices below.
Custom Buy/Sell Stop Loss/Take Profit Price
What they do: If custom SL/TP is enabled, these fields let you set exact prices for stop loss and take profit on both buy and sell trades.
How to use: Enter your preferred price, or leave at 0 for auto-calculation.
Sentiment Lookback
What it does: Sets how many bars the sentiment calculation should look back.
How to use: Increase to smooth out sentiment, decrease for faster reaction.
Max Pyramid Adds
What it does: Limits how many times you can add to an existing position (pyramiding).
How to use: Set to 1 for no adds, higher for more aggressive scaling in trends.
Signal Preset
What it does: Quick-sets a group of signal parameters (see below) for “Robust”, “Standard”, “Freedom”, or “Custom”.
How to use: Pick a preset, or select “Custom” to adjust everything manually.
Min Bars for Signal Confirmation
What it does: Sets how many bars a signal must persist before it’s considered valid.
How to use: Increase for more robust, less frequent signals; decrease for faster, but possibly less reliable, signals.
ADX Length
What it does: Sets the period for the ADX (trend strength) calculation.
How to use: Longer = smoother, shorter = more sensitive.
ADX Trend Threshold
What it does: Sets the minimum ADX value to consider a trend “strong.”
How to use: Raise for stricter trend confirmation, lower for more trades.
ATR Length
What it does: Sets the period for the ATR (volatility) calculation.
How to use: Longer = smoother volatility, shorter = more reactive.
Volume Confirmation Lookback
What it does: Sets how many bars are used to calculate the average volume.
How to use: Longer = more stable volume baseline, shorter = more sensitive.
Volume Confirmation Multiplier
What it does: Sets how much current volume must exceed average volume to be considered “high.”
How to use: Increase for stricter volume filter.
RSI Flat Min / RSI Flat Max
What they do: Define the RSI range considered “flat” (i.e., not trending).
How to use: Widen to be stricter about requiring a trend, narrow for more trades.
Style Page
Most style settings (such as plot colors, label sizes, and shapes) are preset in the script for visual clarity.
You can adjust plot visibility and colors (for signals, stop loss, take profit) in the TradingView “Style” tab as with any indicator.
Buy Signal: Shows as a green triangle below the bar when a buy is triggered.
Sell Signal: Shows as a red triangle above the bar when a sell is triggered.
Stop Loss/Take Profit Lines: Red and green lines for SL/TP, visible when a trade is active.
SL/TP Labels: Small colored markers at the SL/TP levels for each trade.
How to use:
Toggle visibility or change colors in the Style tab if you wish to match your chart theme or preferences.
In Summary
This indicator is highly customizable—you can tune every aspect of the AI logic, risk management, signal filtering, and table display to suit your trading style.
The table gives you a real-time, comprehensive view of all relevant signals, filters, and trade instructions.
All inputs are designed to be intuitive—hover over them in TradingView for tooltips, or refer to the explanations above for details.